我有一个像这样的数据帧:
- 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