我试图学习如何使用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))
我认为聚集是我必须使用的功能,但我不理解帮助文件。这就是我现在所拥有的:
df1 %>%
gather(key=sim, value=V1:V2)
错误显示&#34;错误:列规范无效&#34;
谢谢!
答案 0 :(得分:4)
尝试
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
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)
key,value:要在输出中创建的键和值列的名称。
...:要收集的列的规范。使用裸变量名称。 使用'x:z'选择x和z之间的所有变量,排除y 用'-y'。有关更多选项,请参阅选择文档。