R 从宽到长?
我正在尝试学习如何使用tidyr将宽数据转换为长数据。假设我的数据如下所示:R 从宽到长?,r,tidyr,R,Tidyr,我正在尝试学习如何使用tidyr将宽数据转换为长数据。假设我的数据如下所示: df1 <- data.frame(V1=c(1.5,7.4), V2=c(6.7,8.8), sim=c(1,2)) df2 <- data.frame(sim=c(1,1,2,2), Value=c(1.5,6.7,7.4,8.8)) 错误为“错误:列规范无效” 谢谢 试试看 library
df1 <- data.frame(V1=c(1.5,7.4),
V2=c(6.7,8.8),
sim=c(1,2))
df2 <- data.frame(sim=c(1,1,2,2),
Value=c(1.5,6.7,7.4,8.8))
错误为“错误:列规范无效”
谢谢 试试看
library(tidyr)
df1 %>%
gather(sim1, Value, V1:V2) %>%
select(-sim1) %>%
arrange(sim)
# sim Value
#1 1 1.5
#2 1 6.7
#3 2 7.4
#4 2 8.8
根据?收集
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)
键,值:要在输出中创建的键和值列的名称
…:要收集的列的规格。使用简单的变量名。
使用“x:z”选择x和z之间的所有变量,排除y
带“-y”。有关更多选项,请参阅选择文档
采集(df1,sim)[-2]
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)