R语言中统计数据集里最大值出现次数的函数是什么?
R语言统计最大值出现次数的实现方法
错误原因说明
你运行length(max(data))得到1的核心原因是:max(data)仅返回长度为1的最大值本身,而非所有等于最大值的元素,因此统计长度必然为1,无法得到出现次数。
实现方案
方案1:逻辑向量求和(最推荐)
这是最简洁高效的写法,无需引入额外函数:
data <- c(1, 3, 8, 9, 0, 9) max_count <- sum(data == max(data)) print(max_count)
运行后输出结果为2,符合需求。
原理:data == max(data)会生成和原向量等长的逻辑向量,匹配到最大值的位置为TRUE(数值运算中等价于1),其余为FALSE(等价于0),求和结果即为最大值的出现次数。
方案2:基于频数表统计
如果需要同时查看所有值的出现次数,也可以配合table()函数实现:
data <- c(1, 3, 8, 9, 0, 9) freq_table <- table(data) max_count <- freq_table[as.character(max(data))] print(max_count)
内容的提问来源于stack exchange,提问作者Spencer
相关产品推荐
相关产品推荐

