在R语言中从grouped_df对象提取维度为468×10的tibble的方法
提取grouped_df中的分组信息tibble
要从你的grouped_df对象中提取那个468×10的分组信息tibble,有两种简单直接的方法:
方法1:直接访问groups属性
grouped_df对象的分组元数据(包括分组键和对应行索引)被存储在它的groups属性里,你可以直接提取这个属性来得到目标tibble:
# 提取包含分组键和行索引的468×10 tibble groups_tibble <- attr(data, "groups")
这个tibble就包含了你在str(data)输出里看到的所有分组列,以及记录每个分组对应原数据行位置的.rows列,维度正好是468行×10列。
方法2:使用dplyr辅助函数(按需选择)
如果你不想直接操作对象属性,dplyr提供了group_keys()函数可以获取仅包含分组键的tibble(不含.rows列,维度468×9);如果需要单独获取每个分组对应的行索引列表,可以搭配group_rows()函数:
# 获取仅分组键的tibble(468×9) group_keys_only <- dplyr::group_keys(data) # 获取每个分组对应的行索引列表 group_row_indices <- dplyr::group_rows(data)
另外,如果你后续不再需要分组结构,也可以用ungroup()把grouped_df转为普通tibble,但这只是移除分组标记,不会提取分组信息。
内容的提问来源于stack exchange,提问作者Ekat Sim
相关产品推荐
相关产品推荐

