我试图弄清楚如何从变量的一系列行值创建列。这是一个玩具表示,我有一组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
命令是什么?
答案 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