我想计算一个列的不同值。这是数据框架:
想要得到:
我尝试使用来自在R中按组计算唯一/不同值的ddply,并执行以下代码:(可重现)
但我得到了:
它没有进行计算。注意列中的值随时可以添加。因此它不总是“aa”,“bb”,“cc”和“dd”。它也可以用空格或逗号分隔(“aa bb”,“aa,bb”或“aa,bb”)。必须有一种方法解决这个问题。提前谢谢你。
asa
----
aa
bb
aa
aa
bb
cc
dd
想要得到:
asa | n
--------
aa | 3
bb | 2
cc | 1
dd | 1
我尝试使用来自在R中按组计算唯一/不同值的ddply,并执行以下代码:(可重现)
asa<-c("aa","bb","aa","aa","bb","cc","dd")
asad<-data.frame(asa)
ddply(asad,~asa,summarise,n=length(unique(asa)))
但我得到了:
asa n
1 aa 1
2 bb 1
3 cc 1
4 dd 1
它没有进行计算。注意列中的值随时可以添加。因此它不总是“aa”,“bb”,“cc”和“dd”。它也可以用空格或逗号分隔(“aa bb”,“aa,bb”或“aa,bb”)。必须有一种方法解决这个问题。提前谢谢你。
table(asa)
- Adam Quekasad <- data.frame(table(asa))
,并更改名称,例如names(asad)<-c("asa", "n")
。 - Adam Quekunique(asa)
的结果是一个长度为1的向量。在你所提到的帖子中,数据是按名称分组,然后按另一个变量进行计数。因此,在你的情况下,只需删除unique()
即可。 - Paul Lemmens