gpt4 book ai didi

r - 在列中找到最频繁的值并取其子集

转载 作者:行者123 更新时间:2023-12-04 10:43:11 25 4
gpt4 key购买 nike

我有以下数据集。

Num              Day              Value
1111 Thursday 2
2222 Thursday 2
3333 Thursday 3
1111 Monday 3
1111 Tuesday 3
1111 Wednesday 3
1111 Friday 4
1111 Saturday 5
1111 Sunday 6
2222 Thursday 6

我们可以使用以下命令获取 value 列中出现次数最多的值:tail(names(sort(table(data$value))), 1)

我动态地需要获取仅包含此最高出现值的数据子集。

所以我需要的输出是:

Num              Day              Value
3333 Thursday 3
1111 Monday 3
1111 Tuesday 3
1111 Wednesday 3

最佳答案

您可以使用子集

 indx <- tail(names(sort(table(df1$Value))),1)
subset(df1, Value==indx)

或者使用dplyr

 library(dplyr)
df1 %>%
group_by(Value) %>%
mutate(N=n()) %>%
ungroup() %>%
filter(N==max(N))

或者

  library(data.table)
setDT(df1)[, N:=.N, Value][N==max(N)][, N:=NULL]

关于r - 在列中找到最频繁的值并取其子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30414532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com