【问题标题】:Number of each element from a vector in RR中向量中每个元素的数量
【发布时间】:2013-12-12 17:47:26
【问题描述】:

我有以下向量:

47 47 47 47 47 38 25 47 47 38

现在我在 R 中搜索一个命令,它给出了一个元素在向量中出现的次数。所以在这里我想得到以下回报:

47 7
38 2
25 1

有人知道有没有这样的命令吗?

【问题讨论】:

    标签: r vector sum


    【解决方案1】:

    我发现 plyr 包中的count 函数很方便:

    library(plyr)
    dat = data.frame(a = sample(1:6, 1000, replace = TRUE))
    count(dat, 'a')
      a freq
    1 1  153
    2 2  148
    3 3  160
    4 4  178
    5 5  177
    6 6  184
    

    【讨论】:

    • table() 用于向量?
    • 这也是一个有效的选项。
    【解决方案2】:

    另一种解决方案:

    dat <- data.frame(a = sample(1:6, 1000, replace = TRUE))
    summary(as.factor(dat$a))
    
      1   2   3   4   5   6 
    160 166 191 170 164 149
    

    你会得到相同的结果:

    table(dat$a)
    
      1   2   3   4   5   6 
    160 166 191 170 164 149
    

    【讨论】:

    • @Silke 您可能会考虑接受其中一个答案;这将向未来的访问者显示最适合您的答案
    • 但现在我有一个额外的问题。我使用过 table() 函数,如何使用示例中的 7,如何提取它? 47 的问题相同。
    • 我不太清楚你提取这些值是什么意思。你想用它们做什么?
    • 您可能可以做的是将其转换为数据框:
      dat2 &lt;- data.frame(table(dat$a))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2021-01-11
    • 1970-01-01
    相关资源
    最近更新 更多