【发布时间】: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
【问题讨论】:
我想要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
【问题讨论】:
我们可以在'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`的语法。
df[[1]][which.max(df[[2]])] [1] 6 有什么问题
suggested edit queue is full,请将您的答案中的mydf 更改为df,因为我无法再编辑它