R语言中的数据重塑
文章目录
- 介绍
- reshape2::melt()的用法
- 实例
- reshape2::dcast()的用法
- 实例
- tidyr::gather()的用法
- tidyr::spread()的用法
介绍
tidyverse系列包中的函数操作都是针对简洁数据框进行的,对于不是简洁的数据,实现需要进行数据重塑。数据重塑主要包括长宽表的转换、拆分/合并列、方形化。长宽表转化最初使用的是reshape2包的melt()和cast()函数,后来又发展到早起tidyr包的gather()和spread()函数,现在tidyr 1.0之后又提供了更加易用的pivot_longer()和pivot_wider()函数。
reshape2::melt()的用法
melt()实现了将宽表转化为长表的功能。
melt(data,id.vars=c(" "),measure.vars=c(" "),variable.name="variable",value.name="value")
其中:
- id.vars相当于码是只转化后不变的列
- meansure.vars表示在转化中需要重塑的列
- variable.name表示将measure.vars转化为一列后变量列的名称
- value.name表示重塑后变为一列的数值列的名称
实例
> Df
# key a b c
# 1 A NA NA 1
# 2 B NA 2 NA
# 3 C 3 NA NA
# 4 D NA 4 NA
# 5 E NA NA 5
melt(Df,id.vars = 'key',measure.vars = c('a','b','c'),variable.name = 'vars',value.name = 'value' )
# key vars value
# 1 A a NA
# 2 B a NA
# 3 C a 3
# 4 D a NA
# 5 E a NA
# 6 A b NA
# 7 B b 2
# 8 C b NA
# 9 D b 4
# 10 E b NA
# 11 A c 1
# 12 B c NA
# 13 C c NA
# 14 D c NA
# 15 E c 5
reshape2::dcast()的用法
dcast()实现了将长表转化为宽表的功能。
dcast( data, formula, value.var...)
其中,formula的形式为var1+var2~variable, var1和var2表示码是变化中不变的列,variable表示变量名列的列名;
value.var表示数据列的列名。
实例
DF=data.frame(v=1:5,key=LETTERS[1:5],vars=sample(letters[1:3],5,replace = T))
# v key vars
# 1 1 A c
# 2 2 B b
# 3 3 C a
# 4 4 D b
# 5 5 E c
dcast(DF,formula = key~vars,value.var = 'v')
# key a b c
# 1 A NA NA 1
# 2 B NA 2 NA
# 3 C 3 NA NA
# 4 D NA 4 NA
# 5 E NA NA 5
tidyr::gather()的用法
tidyr::spread()的用法
相关文章:
R语言中的数据重塑
文章目录 介绍reshape2::melt()的用法实例 reshape2::dcast()的用法实例 tidyr::gather()的用法tidyr::spread()的用法 介绍 tidyverse系列包中的函数操作都是针对简洁数据框进行的,对于不是简洁的数据,实现需要进行数据重塑。数据重塑主要包括长宽表的…...
基于Java实现的社区团购系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言系统功能具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域…...
nodejs+vue网上婚纱购物系统elementui
便了用户足不出门也能进行购物的理念,方便了婚纱影楼的对商品的进一步管理,互联网成为人们快速获取、发布、和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。未来的时代是网络信息的时代,“网上生活方式”是人类今…...
【2023集创赛】加速科技杯三等奖作品:私密性高精度刷手身份认证系统
本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)加速科技杯三等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼…...
1500*C. Kefa and Park(dfstree)
Kefa and Park - 洛谷 Problem - 580C - Codeforces Examples input 4 1 1 1 0 0 1 2 1 3 1 4 output 2 input 7 1 1 0 1 1 0 0 0 1 2 1 3 2 4 2 5 3 6 3 7 output 2 解析: dfs遍历,记录前一个结点权值是否为1,并且累计路径1的个数…...
【2023保研】双非上岸东南网安
个人情况 学校:henu 专业:信息安全 排名:1/66 英语:六级500 竞赛:蓝桥杯PB国一,ISCC国一,密码数学挑战赛国三,还有其他一些省级水奖 论文:一篇EI在投(三作通…...
Redis与Mybatis
作者在学习Redis整合时使用JDBC与Jedis,但是呢,现如今的环境下,Mybatis系列ORM框架是更受关注的方法,作者有一点点Mybatis基础,Mybatisplus几乎忘的差不多了,现对Redis整合Mybatis相关知识进行梳理…...
MySQL架构 InnoDB存储引擎
1. 什么是Mysql? 我们在开发的时候,我们都需要对业务数据进行存储,这个时候,你们就会用到MySQL、Oracal等数据库。 MySQL它是一个关系型数据库,这种关系型数据库就有Oracal、 MySQL,以及最近很火的PgSQL等。…...
K8S-CNI
CNI的设计思想即为:Kubernetes在启动Pod的pause容器之后,直接调用CNI网络插件,从而实现为Pod内部应用容器月在的Network Namespace配置符合预期的网络信息。 这里面需要特别关注两个方面:Container必须有自己的网络命名空间的环境,也就是end…...
Redis 集合类型(Set)和命令 (数据类型 四)
集合类型是一个无序、不重复的数据集合,它可以用于存储唯一的值,并提供了对集合进行交集、并集、差集等操作。 常用集合类型命令: 添加操作: sadd key member1 member2 …:向集合中添加一个或多个成员。 # 添加三个…...
thinkphp5 如何模拟在apifox里面 post数据接收
tp5里面控制器写的方法想直接apifox里面请求接受 必须带上这个参数 header里面 X-Requested-With:XMLHttpRequest...
建造者模式 创建型模式之三
想要搞清楚建造者模式,首先先要了解建造者模式种四个角色的定位 1.Product:表示被构造的复杂对象,就是我们要建造的东西,比如我们要做一个手机,手机就是product。 2.Builder:建造者,这里需要着…...
发布以太坊测试网络中的第一笔交易
1.安装以太坊钱包 要想发送发布以太坊测试网络中的第一笔交易,首先需要创建一个管理账户的钱包,这个钱包可以理解为管理私钥的容器,具体按照步骤为:打开Chrome浏览器应用商店搜索MetaMask,选择对应的钱包添加至Chrome…...
No module named ipykernel解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
Java 基于 SpringBoot 的校园疫情防控系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2.主要技术3 需求分析4系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数据库表…...
windows的ui自动化测试相关
一个python第三方模块uiautomation github上也有源码,可以看下 uiautomation模块项目地址:https://github.com/yinkaisheng/Python-UIAutomation-for-Windows uiautomation模块项目地址...
Mybatis 二级缓存(使用Ehcache作为二级缓存)
上一篇我们介绍了mybatis中二级缓存的使用,本篇我们在此基础上介绍Mybatis中如何使用Ehcache作为二级缓存。 如果您对mybatis中二级缓存的使用不太了解,建议您先进行了解后再阅读本篇,可以参考: Mybatis 二级缓存https://blog.c…...
C语言 Cortex-A7核 IIC实验
iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_SCL ---> PF14* I2C1_SDA ---> PF15** */#define SET_SDA_OUT do{…...
【每日一题】2769. 找出最大的可达成数字
2769. 找出最大的可达成数字 - 力扣(LeetCode) 给你两个整数 num 和 t 。 如果整数 x 可以在执行下述操作不超过 t 次的情况下变为与 num 相等,则称其为 可达成数字 : 每次操作将 x 的值增加或减少 1 ,同时可以选择将 …...
开源电子合同签署平台小程序源码 在线签署电子合同小程序源码 合同在线签署源码
聚合市场上各类电子合同解决方案商,你无需一个一个的对接电子合同厂商, 费时,费力,因为这个工作我们已经做了适配,你只需要一个接口就能使用我们的所有服务商, 同时你还可以享受我们的接口渠道价格。 Mini-…...
物理神经计算:突破冯·诺依曼瓶颈的新范式
1. 物理神经计算:突破冯诺依曼瓶颈的新范式在传统计算架构面临能效瓶颈的今天,物理神经计算(Physical Neural Computing)正在掀起一场硬件革命。这种新型计算范式不再依赖传统的数字逻辑门和冯诺依曼架构,而是直接利用…...
Agent工作流卡顿、循环、幻觉频发?Lindy官方未公开的3层诊断协议首次披露
更多请点击: https://intelliparadigm.com 第一章:Agent工作流卡顿、循环、幻觉频发?Lindy官方未公开的3层诊断协议首次披露 当Agent在真实业务链路中反复重试同一动作、陷入状态闭环,或输出与上下文明显矛盾的“幻觉响应”&…...
Arduino程序背后的秘密:从setup/loop到main函数,带你读懂官方核心库源码
Arduino程序背后的秘密:从setup/loop到main函数,带你读懂官方核心库源码 当你第一次打开Arduino IDE,写下setup()和loop()函数时,有没有想过这些代码最终是如何在硬件上运行的?为什么我们不需要写main函数?…...
Android原生AI智能体平台Zero:Rust核心与多通道集成的工程实践
1. 项目概述:一个运行在Android上的原生AI智能体平台如果你和我一样,对手机上那些“大模型助手”感到有些审美疲劳——它们要么是套壳的Web应用,响应慢、功能受限,要么就是纯粹的聊天玩具,没法真正帮你处理点“脏活累累…...
对比按次与Token Plan套餐Taotoken如何帮助控制长期成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按次与Token Plan套餐:Taotoken如何帮助控制长期成本 在接入和使用大模型API时,成本控制是开发者与团队…...
幸福依赖于抽象的 能力的庖丁解牛
它的本质是:**将幸福的源头从 具体实现类 (Concrete Implementations)(如特定的伴侣、具体的工作、固定的房产)转移到 抽象接口 (Abstract Interfaces)(如爱的能力、创造价值的技能、感知美好的心智)。具体实现是不可控…...
别再被Linux的free命令骗了!手把手教你读懂‘可用内存’和‘实际空闲内存’的区别
别再被Linux的free命令骗了!手把手教你读懂‘可用内存’和‘实际空闲内存’的区别 刚接触Linux服务器管理时,看到free -m输出里那个触目惊心的"free"数值,我的第一反应是:"天哪,内存快用完了࿰…...
GD32F407时钟树详解:168MHz系统时钟如何驱动你的ADC、SPI和CAN?
GD32F407时钟树深度解析:从PLL到外设的168MHz信号之旅 在嵌入式系统设计中,时钟如同芯片的"心跳",精确控制着每个外设的运作节奏。GD32F407这颗基于Cortex-M4内核的MCU,其168MHz的系统时钟如何精准分配到ADC、SPI、CAN等…...
多波束声呐接收机与信号处理算法【附程序】
✨ 长期致力于多通道声呐接收机、电路设计、FPGA、数字信号处理、波束形成研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)小型化96通道接收机硬件电路…...
告别繁琐配置!用Spring Integration MQTT Starter 5分钟搞定SpringBoot消息通信
SpringBoot与MQTT的极速集成:5分钟构建高效消息通信系统 在物联网和微服务架构盛行的今天,轻量级消息通信协议MQTT凭借其低功耗、低带宽占用和高效发布/订阅模式,成为设备互联的首选方案。但对于SpringBoot开发者而言,传统MQTT集成…...
