我有以下數據集。查找列中最常見的值並取其中的一個子集
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
我會使用'data [data $ Value == as.numeric(names(which.max(table(data $ Value)))),]'。使用'tail'和'sort'是獲得最大數量的一種相當複雜的方式 - 我會在這裏使用'which.max'。而且,'names'返回一個字符向量。整數和字符之間的'=='比較似乎可行,但我認爲明確轉換爲'numeric'會更好。最後,我儘可能地避免使用'subset'(這裏的幾個帖子解釋了爲什麼'subset'可能會非常棘手)。 – cryo111