group_split()
與 base::split()
類似,但是:
-
它使用
group_by()
中的分組結構,因此受數據掩碼的約束 -
它不會根據分組命名列表的元素,因為這隻適用於單個字符分組變量。相反,使用
group_keys()
訪問定義組的數據幀。
group_split()
主要設計用於處理分組數據幀。您可以傳遞 ...
來對未分組的數據幀進行分組和拆分,但這通常不是很有用,因為您希望輕鬆訪問組元數據。
參數
- .tbl
-
一表格。
- ...
-
如果
.tbl
是未分組的數據幀,則分組規範,轉發到group_by()
。 - .keep
-
是否應該保留分組列?
值
一個小標題列表。每個 tibble 包含關聯組的 .tbl
行和所有列,包括分組變量。請注意,這會返回一個 list_of,它比簡單列表稍微嚴格一些,但對於表示每個元素都具有相同類型的列表很有用。
生命周期
group_split()
不穩定,因為您可以通過操作從 tidyr::nest(.by =)
返回的嵌套列來獲得非常相似的結果。這還將組 key 全部保留在單個數據結構中。 group_split()
將來可能會被棄用。
也可以看看
其他分組函數:group_by()
、group_map()
、group_nest()
、group_trim()
例子
ir <- iris %>% group_by(Species)
group_split(ir)
#> <list_of<
#> tbl_df<
#> Sepal.Length: double
#> Sepal.Width : double
#> Petal.Length: double
#> Petal.Width : double
#> Species : factor<fb977>
#> >
#> >[3]>
#> [[1]]
#> # A tibble: 50 × 5
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> <dbl> <dbl> <dbl> <dbl> <fct>
#> 1 5.1 3.5 1.4 0.2 setosa
#> 2 4.9 3 1.4 0.2 setosa
#> 3 4.7 3.2 1.3 0.2 setosa
#> 4 4.6 3.1 1.5 0.2 setosa
#> 5 5 3.6 1.4 0.2 setosa
#> 6 5.4 3.9 1.7 0.4 setosa
#> 7 4.6 3.4 1.4 0.3 setosa
#> 8 5 3.4 1.5 0.2 setosa
#> 9 4.4 2.9 1.4 0.2 setosa
#> 10 4.9 3.1 1.5 0.1 setosa
#> # ℹ 40 more rows
#>
#> [[2]]
#> # A tibble: 50 × 5
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> <dbl> <dbl> <dbl> <dbl> <fct>
#> 1 7 3.2 4.7 1.4 versicolor
#> 2 6.4 3.2 4.5 1.5 versicolor
#> 3 6.9 3.1 4.9 1.5 versicolor
#> 4 5.5 2.3 4 1.3 versicolor
#> 5 6.5 2.8 4.6 1.5 versicolor
#> 6 5.7 2.8 4.5 1.3 versicolor
#> 7 6.3 3.3 4.7 1.6 versicolor
#> 8 4.9 2.4 3.3 1 versicolor
#> 9 6.6 2.9 4.6 1.3 versicolor
#> 10 5.2 2.7 3.9 1.4 versicolor
#> # ℹ 40 more rows
#>
#> [[3]]
#> # A tibble: 50 × 5
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> <dbl> <dbl> <dbl> <dbl> <fct>
#> 1 6.3 3.3 6 2.5 virginica
#> 2 5.8 2.7 5.1 1.9 virginica
#> 3 7.1 3 5.9 2.1 virginica
#> 4 6.3 2.9 5.6 1.8 virginica
#> 5 6.5 3 5.8 2.2 virginica
#> 6 7.6 3 6.6 2.1 virginica
#> 7 4.9 2.5 4.5 1.7 virginica
#> 8 7.3 2.9 6.3 1.8 virginica
#> 9 6.7 2.5 5.8 1.8 virginica
#> 10 7.2 3.6 6.1 2.5 virginica
#> # ℹ 40 more rows
#>
group_keys(ir)
#> # A tibble: 3 × 1
#> Species
#> <fct>
#> 1 setosa
#> 2 versicolor
#> 3 virginica
相關用法
- R dplyr group_trim 修剪分組結構
- R dplyr group_map 對每個組應用一個函數
- R dplyr group_by_all 按選擇的變量進行分組
- R dplyr group_by_drop_default group_by 的 .drop 參數的默認值
- R dplyr group_by 按一個或多個變量分組
- R dplyr group_nest 使用分組規範嵌套 tibble
- R dplyr group_data 元數據分組
- R dplyr group_cols 選擇分組變量
- R dplyr slice 使用行的位置對行進行子集化
- R dplyr copy_to 將本地數據幀複製到遠程src
- R dplyr sample_n 從表中采樣 n 行
- R dplyr consecutive_id 為連續組合生成唯一標識符
- R dplyr row_number 整數排名函數
- R dplyr band_members 樂隊成員
- R dplyr mutate-joins 變異連接
- R dplyr nth 從向量中提取第一個、最後一個或第 n 個值
- R dplyr coalesce 找到第一個非缺失元素
- R dplyr mutate 創建、修改和刪除列
- R dplyr order_by 用於排序窗口函數輸出的輔助函數
- R dplyr context 有關“當前”組或變量的信息
- R dplyr percent_rank 比例排名函數
- R dplyr recode 重新編碼值
- R dplyr starwars 星球大戰人物
- R dplyr desc 降序
- R dplyr between 檢測值落在指定範圍內的位置
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Split data frame by groups。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。