tidyr广泛到长?

时间:2015-04-16 15:29:43

标签: 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))

我认为聚集是我必须使用的功能,但我不理解帮助文件。这就是我现在所拥有的:

df1 %>%
   gather(key=sim, value=V1:V2)

错误显示&#34;错误:列规范无效&#34;

谢谢!

1 个答案:

答案 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'。有关更多选项,请参阅选择文档。