【问题标题】:I Want Frequency Value with the Maximum Sample Using R [duplicate]我想要使​​用 R 的最大样本的频率值 [重复]
【发布时间】:2021-07-15 21:56:30
【问题描述】:

我想要df中样本最大的频率

df <- data.frame(Freq = c(1,2,3,4,5,6,7,8,9,10), Valu = c(10,5,11,7,13,15,9,6,12,12))


apply(df, 2, which.max)

.

我想要什么

我希望它只打印最大 Valu 的频率,即 6

【问题讨论】:

    标签: r apply frequency


    【解决方案1】:

    我们可以在'Sample'列上使用which.max,获取索引并提取([),对应的'Freq'值

    with(df, Freq[which.max(Valu)])
    #[1] 6
    

    如果列名发生变化,则使用位置索引

    df[[1]][which.max(df[[2]])]
    [1] 6
    

    或者也可以使用order

    df[[1]][order(-df[[2]])][1]
    [1] 6
    

    如果我们用MARGIN = 2 循环列(*apply) 并应用函数which.max,它会分别为这些列返回max 的索引

    【讨论】:

    • 我只想要一个只使用生成它的data frame and not going back to the sample`的语法。
    • @DanielJames 使用 df[[1]][which.max(df[[2]])] [1] 6 有什么问题
    • 请允许我编辑您的语法以反映我的问题的变化,以便其他人了解您的回答解决了我的问题。
    • suggested edit queue is full,请将您的答案中的mydf 更改为df,因为我无法再编辑它
    • 我更新了帖子
    猜你喜欢
    • 2020-07-04
    • 2019-05-10
    • 2012-01-12
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2017-09-07
    • 2016-12-15
    相关资源
    最近更新 更多