r - 计算 R 中数据框列中的不同值

标签 r dataframe count plyr distinct-values

所以我想计算列的不同值。这是数据框:

asa
----
aa
bb
aa
aa
bb
cc
dd

想要得到:

asa |  n
--------
aa  |  3
bb  |  2
cc  |  1
dd  |  1

我已经尝试使用来自 Counting unique / distinct values by group in a data frame 的 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

setNames(as.data.frame(table(df1$asa)), c("asa", "n"))
#   asa    n
#1   aa    3
#2   bb    2
#3   cc    1
#4   dd    1

或者使用来自dplyrtally

library(dplyr)
df1 %>%
     group_by(asa) %>% 
     tally()
#    asa     n
#   (chr) (int)
#1    aa     3
#2    bb     2
#3    cc     1
#4    dd     1

关于r - 计算 R 中数据框列中的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37134405/

相关文章:

python - 用 Pandas 替换另一个数据框中数据框中的值

php - 按 id 分组而不是在 php 中分组

r - R 中具有多个条件的 Countif

r - 在不访问原始数据框的情况下找出回归模型中的变量类别

r - 绘图未通过 Shiny 仪表板侧边栏上的输入进行渲染

python - 在多个字符串中搜索多个单词

R - 如何替换数据框中的部分变量字符串

r - 使用 dplyr 计算融化数据上某个值的出现次数

r - 在 read_excel R 中打开单元格范围

Unix 命令获取 csv 文件中的行数