我有一个像这样的数据帧:
type V1 V2 1 A bla bla 2 A bla bla 3 B bloo bla 4 B bloo bla 5 C moo bloo 6 C moo bloo
目前我融化/施法得到这个:
type bla bloo moo A 4 0 0 B 2 2 0 C 0 2 2
使用这些命令:
library(reshape) melted <- melt(df,id='type') count <- function(x) { length(na.omit(x)) } casted <- cast(melted,type~value,count)
然而,我想获得原始rownames的列表而不是计数/求和.像这样的东西:
type bla bloo moo A 1,2 0 0 B 3,4 3,4 0 C 0 5,6 5,6
其中bla,bloo和moo的每个值都是原始数据框中唯一的rownames列表.
有人可以帮忙吗?
library(reshape2) df <- read.table(text="type V1 V2 1 A bla bla 2 A bla bla 3 B bloo bla 4 B bloo bla 5 C moo bloo 6 C moo bloo") df$id <- rownames(df) melted <- melt(df,id=c('type','id'),measure.vars=c("V1","V2")) fun <- function(x) paste(unique(x),collapse=",") dcast(melted,fun,value.var="id",fill="0") # type bla bloo moo #1 A 1,2 0 0 #2 B 3,4 3,4 0 #3 C 0 5,6 5,6