我有一个数据集如下,其中每个ID有不同属性的多行。
ID<-c(1,1, 2,2,3,3)
Score<-c(4,5, 5,7,8,9)
Attribute<-c("Att_1","Att_2", "Att_1","Att_2", "Att_1","Att_2")
T<-data.frame(ID, Score, Attribute)
需要将其转换为以下格式,以便每个ID都有一行:
ID Att_1 Att_2
1 4 5
2 5 7
3 8 9
有关如何在excel中执行此操作的线程,只是想知道在R中有任何简洁的方法吗?非常感谢!
答案 0 :(得分:1)
可以使用reshape()
:
reshape(data.frame(ID,Score,Attribute),idvar='ID',timevar='Attribute',dir='w');
## ID Score.Att_1 Score.Att_2
## 1 1 4 5
## 3 2 5 7
## 5 3 8 9
答案 1 :(得分:1)
你可以试试这个:
library(reshape2)
dcast(T, ID ~ Attribute, value.var="Score")
# ID Att_1 Att_2
#1 1 4 5
#2 2 5 7
#3 3 8 9