如何根據分組列的值的頻率從 R 資料框中刪除行?
要根據分組列中值的頻率從 R 資料框中刪除行,我們可以按照以下步驟操作:
- 首先,建立一個數據框。
- 然後,使用 dplyr 包的 filter 和 group_by 函式根據分組列中值的頻率刪除行。
建立資料框
讓我們建立一個如下所示的資料框:
> Group<-sample(c("I","II","III","IV"),20,replace=TRUE)
> Rank<-sample(1:10,20,replace=TRUE)
> df<-data.frame(Group,Rank)
> df執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出可能會因您的系統而異):
Group Rank 1 IV 7 2 I 8 3 IV 2 4 I 9 5 III 9 6 IV 5 7 II 8 8 III 2 9 III 3 10 I 6 11 II 3 12 II 1 13 IV 7 14 III 4 15 III 5 16 IV 3 17 II 2 18 III 8 19 I 5 20 III 4
根據分組列中的頻率從資料框中刪除行
載入 dplyr 包並根據 Group 列中值的頻率從 df 中刪除行:
> Group<-sample(c("I","II","III","IV"),20,replace=TRUE)
> Rank<-sample(1:10,20,replace=TRUE)
> df<-data.frame(Group,Rank)
> library(dplyr)
> df %>% group_by(Group) %>% filter(n()>4)# A tibble: 12 x 2 # Groups: Group [2] Group Rank <chr> <int> 1 IV 7 2 IV 2 3 III 9 4 IV 5 5 III 2 6 III 3 7 IV 7 8 III 4 9 III 5 10 IV 3 11 III 8 12 III 4
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP