R语言 数据重塑
一般来说,在 R编程语言 中,数据处理是通过从数据框架中获取数据作为输入来完成的,数据被组织成行和列。数据框架大多被使用,因为提取数据要简单得多,因此更容易。但有时我们需要从我们收到的数据帧中重塑其格式。因此,在R语言中,我们可以使用各种函数分割、合并和重塑数据框。
在数据框中重塑数据的各种形式有
- 矩阵的转置
- 连接行和列
- 数据框架的合并
- 熔化和铸造
为什么R – 数据重塑很重要
在进行分析或使用分析函数时,由于实验或研究而获得的结果数据通常是不同的。所获得的数据通常有一个或多个列,对应或确定一个行,然后是代表测量值的若干列。我们可以说,这些识别行的列可以是数据库中某一列的复合键。
矩阵的转置
在R语言中,我们可以在t()函数的帮助下轻松计算矩阵的转置。t()函数将一个矩阵或数据框作为输入,并将该矩阵或数据框的转置作为其输出。
语法
例子
输出
连接数据框中的行和列
在R中,我们可以使用函数连接两个向量或合并两个数据框。基本上有两个函数可以完成这些任务。
cbind()
我们可以使用 cbind() 函数按列合并向量、矩阵或数据框。
语法: cbind(x1, x2, x3)
其中x1, x2和x3可以是向量或矩阵或数据帧。
rbind()
我们可以使用 rbind() 函数将向量、矩阵或数据帧按行组合起来。
语法: rbind(x1, x2, x3)
其中x1, x2和x3可以是向量、矩阵或数据框。
例子
输出
合并两个数据框架
在R语言中,我们可以使用 merge() 函数来合并两个数据框架,前提是这两个数据框架应该有相同的列名。我们可以根据一个键值来合并两个数据框。
语法: merge(dfA, dfB, …)
例子
输出
熔化和铸造
数据重塑包括许多步骤,以获得所需的或要求的格式。其中一个流行的方法是熔化数据,将每一行转换为唯一的id-variable组合,然后再铸造它。在这个过程中使用了两个函数。
melt()
它用于将一个数据框转换为一个熔融数据框。
语法: melt(data, …, na.rm=FALSE, value.name=”value”)
其中
data: 要熔化的数据
… : 参数
na.rm: 将显式缺失转换为隐式缺失
value.name: 存储值
dcast()
它用于将熔化的数据框聚合成一个新的形式。
语法: melt(data, formula, fun.aggregation)
其中
data: 要熔化的数据
formula: 定义如何铸造的公式
fun.aggregation: 在有数据聚合的情况下使用
例子
输出