在聚合数据帧后,如何将rownames列表作为值?
发布时间:2020-12-13 20:07:41 所属栏目:百科 来源:网络整理
导读:我有一个像这样的数据帧: type V1 V21 A bla bla2 A bla bla3 B bloo bla4 B bloo bla5 C moo bloo6 C moo bloo 目前我融化/施法得到这个: type bla bloo mooA 4 0 0B 2 2 0C 0 2 2 使用这些命令: library(reshape)melted - melt(df,id='type')count - fu
我有一个像这样的数据帧:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |