【发布时间】:2018-12-13 21:32:14
【问题描述】:
给定一个如下形式的数据框dat:
property_id tenant count
1 1 Burlington Coat Factory 1
2 1 Macy's 2
3 1 Sears 3
4 1 AMC Theatres 4
5 1 Macy's Home 5
6 2 Burlington Coat Factory 1
7 2 JCPenney 2
8 2 Value City 3
我们怎样才能得到以下结果?
property_id X1 X2 X3 X4 X5
1 Burlington Coat Factory Macy's Sears AMC Theatres Macy's Home
2 Burlington Coat Factory JCPenney Value City <NA> <NA>
Melt/reshape 似乎会产生大部分稀疏矩阵。
我已经非常麻烦地使用了以下方法,但它很糟糕,我正在寻找更好的方法:
df<-data.frame(matrix(NA,1167,20))
df['id']<-unique(dat$property_id)
for(i in seq(1:dim(df)[1])){
df[i,1:length(subset(dat,dat$property_id==df[i,'id'])$tenant)]<-t(subset(dat,dat$property_id==df[i,'id'])$tenant)
}
【问题讨论】: