我有一个看起来像
的data.frame a = c("sample1", "asd")
b = c("sample2" ,"poua")
c = c("sample3", "asd")
dat <- rbind(a,b,c)
我想计算column2的字符串频率,并将column1名称保留在list / ragged数组中。看起来像是
asd sample1 sample3
poua sample2
我知道桌子计数频率,但我无法让它保留名字,所以我真的非常感谢任何帮助!
答案 0 :(得分:3)
您可以使用tapply
:
tapply(dat[,1], dat[,2], as.vector)
$asd
[1] "sample1" "sample3"
$poua
[1] "sample2"
编辑:如果你的rownames很重要,你可以使用identity
作为函数:
tapply(dat[,1], dat[,2], identity)
$asd
a c
"sample1" "sample3"
$poua
b
"sample2"