在R中展开数据集并保留每列的名称,可以使用tidyr
包中的gather()
函数或pivot_longer()
函数。
gather()
函数:library(tidyr)
# 创建一个示例数据集
data <- data.frame(ID = c(1, 2, 3),
A = c(10, 20, 30),
B = c(15, 25, 35),
C = c(18, 28, 38))
# 使用gather()函数展开数据集
gathered_data <- gather(data, key = "Variable", value = "Value", -ID)
# 打印展开后的数据集
print(gathered_data)
上述代码中,gather()
函数的第一个参数是要展开的数据集,第二个参数key
指定展开后的列名,第三个参数value
指定展开后的值,最后一个参数-ID
表示不展开的列。运行结果如下:
ID Variable Value
1 1 A 10
2 2 A 20
3 3 A 30
4 1 B 15
5 2 B 25
6 3 B 35
7 1 C 18
8 2 C 28
9 3 C 38
pivot_longer()
函数:library(tidyr)
# 创建一个示例数据集
data <- data.frame(ID = c(1, 2, 3),
A = c(10, 20, 30),
B = c(15, 25, 35),
C = c(18, 28, 38))
# 使用pivot_longer()函数展开数据集
gathered_data <- pivot_longer(data, cols = -ID, names_to = "Variable", values_to = "Value")
# 打印展开后的数据集
print(gathered_data)
上述代码中,pivot_longer()
函数的第一个参数是要展开的数据集,第二个参数cols
指定要展开的列,第三个参数names_to
指定展开后的列名,第四个参数values_to
指定展开后的值。运行结果与上述方法相同。
以上两种方法都可以在展开数据集的同时保留每列的名称。
领取专属 10元无门槛券
手把手带您无忧上云