我有一个数据框
newDF<-data.frame(type=c(rep("A",4),
rep("B",2),rep("C",3),
rep("D",4),rep("E",4)),
cluster=sample(1:4,17,replace=T),
count=sample(1:20, 17, rep=T),
sum=sample(30:1000,17,rep=T))
我需要获得2个新的数据帧,它们将“簇”作为列,键入行并计为填充。(第二个表将是相同的,但fill = sum,而不是count)。这两个表中必须有一些NA,因为newDF有17行,但是两个新数据帧必须是5x5
如何创建这2个5x5数据帧?
答案 0 :(得分:0)
对不起,我已经找到了答案
spread(newDF[,-3],key=cluster, value=sum)
答案 1 :(得分:0)
试试这个:
library(reshape2)
countoutput <- dcast(newDF,type~cluster,value.var = "count",fun.aggregate = sum)
sumoutput <- dcast(newDF,type~cluster,value.var = "sum",fun.aggregate = sum)
它用0填充缺失值,但您可以通过添加参数fill = -1
来指定不同的数字(例如-1)以帮助突出显示哪些缺失值...我似乎无法得到它把NA改为0,但我没试过很长时间。