R:将数据转换回原始格式

时间:2014-07-25 19:26:18

标签: r melt

我试图弄清楚如何从变量的一系列行值创建列。这是一个玩具表示,我有一组melted

          name variable value
        1  Dog       id     1
        2  Cat       id     2
        3 Fish       id     3
        4  Dog   number    23
        5  Cat   number    14
        6 Fish   number    27

我希望看起来像这样:

         ID Name Number
       1  1  Dog     23
       2  2  Cat     14
       3  3 Fish     27

这样做的适当cast命令是什么?

2 个答案:

答案 0 :(得分:2)

基本语法如下所示:

> library(reshape2)
> dcast(melted, name ~ variable)
  name id number
1  Cat  2     14
2  Dog  1     23
3 Fish  3     27

指定数据集,然后指定公式的LHS上的ID,然后指定RHS上的新列。你没有做任何聚合。此外,您不需要 来指定“值”列,尽管这样做可能是一种好习惯。

答案 1 :(得分:1)

使用dplyr

 library(dplyr)
 library(tidyr)

 melted %>% 
 spread(variable,value) %>% 
 arrange(id)
 #   name id number
 #1  Dog  1     23
 #2  Cat  2     14
 #3 Fish  3     27