首页 > 解决方案 > 在没有 base::table() 函数的 R studio 中计算频率

问题描述

我是使用 R 的新手,我正在做一些练习。特别是,我想知道是否有任何方法可以计算 X 的绝对频率,但不使用函数table(x).

换句话说,我想获得由 给出的相同输出table(X),但不使用此函数。可能吗?

标签: rfrequency

解决方案


table如果出于某种原因必须避免使用最直接的方法,即使用函数,则有多种计算频率的方法(例如,参见注释) 。另一种方法是定义一个for循环:

样本数据

set.seed(123)
dt <- sample(LETTERS[1:5], 100, replace = T)

要计算频率,您首先要设置一个空向量来填充for循环的结果:

f <- c()

然后运行for循环本身,即循环遍历其中的唯一元素dt并按sum索引排列它们:

for(i in unique(dt)){
  f[i] <- sum(dt== i)
}

这样您就可以获得这个频率列表:

f
 B  D  C  E  A 
20 22 21 18 19

推荐阅读