【问题标题】:Count elements from a vector with also zero frequencies in r [duplicate]计算r中频率也为零的向量中的元素[重复]
【发布时间】:2018-12-03 11:59:48
【问题描述】:

我有一个带有这样字符的向量:

v1 <- c("A", "B", "C", "D", "E")

我想计算另一个向量中每个字符的频率,即:

v2 <- c("B", "B", "C", "D", "C")

输出应该是这样的:

A B C D E
0 2 2 1 0

我尝试过使用table()merge()%in%,但我无法获得输出频率为零的字符,这些字符不在我正在检查的向量中。

【问题讨论】:

  • 这是课程的一部分还是什么?前几天我们有这个几乎相同的问题 - stackoverflow.com/questions/50980513/… ?
  • @thelatemail 好吧,我是学生,但我不知道这两个答案是否相关。很抱歉,这个问题是重复的。
  • 这不是一个大问题 - 只是有时在线课程中会出现大量相同的问题。很高兴知道情况是否如此,因此可以识别出一个好的重复答案,让每个人都很高兴。 (例如,在此处搜索 [r] pollutantmean 并查看数十个 Coursera 问题)。

标签: r count frequency


【解决方案1】:

我们可以在将'v2'转换为factor并将levels指定为'v1'后使用table

table(factor(v2, levels = v1))
# A B C D E 
# 0 2 2 1 0 

【讨论】:

  • 太好了,谢谢。因此,在对字符和字符串进行操作时,使用因子很有用。
【解决方案2】:

利用sumTRUE/FALSE 向量

sapply(v1, function(x) sum(x==v2))
# A B C D E 
# 0 2 2 1 0 

【讨论】:

    猜你喜欢
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多