【问题标题】:How to count entries with specific values in R [duplicate]如何计算R中具有特定值的条目[重复]
【发布时间】:2017-01-29 03:18:29
【问题描述】:

假设我有两个向量

x <- c(1, 2, 2, 3, 4, 4, 5, 5, 5) 
y <- c(3, 3, 3, 4, 5, 6, 6, 7, 7)

这些向量中所有数字中唯一的数字是1:7。我知道如果我在 R 中使用 table 函数,我可以计算每个向量中唯一条目的数量。例如,如果我将table 函数应用于第一个向量,我会得到

table(x)
#x
# 1 2 3 4 5 
# 1 2 1 2 3 

将它应用到第二个向量,我会得到

table(y)
# y
# 3 4 5 6 7 
# 3 1 1 2 2 

如何计算两个向量中所有唯一条目的出现次数?例如,我想产生以下结果:

1 2 3 4 5 6 7
1 2 1 2 3 0 0

对于第一个向量和

1 2 3 4 5 6 7
0 0 3 1 1 2 2

【问题讨论】:

  • 为什么第一个向量中的最后两个条目为 0,而第二个向量中的前两个条目为 0?
  • 因为第一个向量中没有 6 或 7。
  • @MrFlick:作为答案发帖?

标签: r counting


【解决方案1】:

表(因子(x,唯一(联合(x,y))))

表(因子(y,唯一(联合(x,y))))

【讨论】:

    【解决方案2】:

    首先,生成要在两个向量中获取计数的值列表

    lvl<-unique(c(x,y))
    

    然后在做表格之前明确列出这些值作为因子的水平

    table(factor(x, lvl))
    table(factor(y, lvl))
    

    【讨论】:

      猜你喜欢
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多