【问题标题】:Finding the most repeated value using table() function [duplicate]使用 table() 函数查找重复次数最多的值
【发布时间】:2020-07-05 06:30:06
【问题描述】:

我得到了一个样本向量 v,并被要求使用 R 代码将 v 中重复次数最多的值提取为一个数字(意思是:不是字符串)。

(提示:使用table();请注意which.max() 为您提供向量最大值的索引,如表中的最大值;names() 允许您提取原始向量的值,当应用于table() 的输出。)

我的回答如下: 名称(which.max(table(v)))

它以字符串而不是数字的形式返回正确答案。我是否正确使用了提示?谢谢。

【问题讨论】:

  • 是的,只需将结果包装在as.numeric - as.numeric(names(which.max(table(v))))
  • 在发布新问题之前,请考虑接受对您有用的答案。阅读stackoverflow.com/help/someone-answers

标签: r list function dataframe


【解决方案1】:

names 将数字作为字符返回,或者添加as.integer/as.numeric 将其转换为数字。

as.integer(names(which.max(table(v))))

此外,如果出现平局,which.max 将仅返回第一个最大值。如果你想要所有绑定的值,你可以使用:

v <- c(1, 1, 2, 4, 5, 3, 3)
as.integer(names(which.max(table(v))))
#[1] 1


tab <- table(v)
as.integer(names(tab[max(tab) == tab]))
#[1] 1 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-26
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多