多条件分组与子集化:提取Ca并将其余元素汇总为other_elem
长格式tibble数据处理解决方案
假设你的tibble数据集df包含Elements(元素名称)和Percentages(百分比)列,以下是完整的处理步骤:
- 提取"Ca"元素的记录
用filter筛选出Elements值为"Ca"的所有行:
library(dplyr) ca_records <- df %>% filter(Elements == "Ca")
- 汇总其余元素的百分比并生成新记录
筛选出非"Ca"的记录,对Percentages求和后,生成Elements为"other_elem"的新行。如果数据存在分组维度(比如样本ID),需先按分组列聚合:
# 无分组的情况 other_records <- df %>% filter(Elements != "Ca") %>% summarise( Elements = "other_elem", Percentages = sum(Percentages, na.rm = TRUE), .groups = "drop" ) # 带分组的情况(示例:按Sample_ID分组) other_records <- df %>% filter(Elements != "Ca") %>% group_by(Sample_ID) %>% # 替换为你的实际分组列名 summarise( Elements = "other_elem", Percentages = sum(Percentages, na.rm = TRUE), .groups = "drop" )
注:na.rm = TRUE用于忽略缺失值,根据你的数据情况可调整。
- 合并结果
将提取的"Ca"记录和汇总后的"other_elem"记录合并:
final_df <- bind_rows(ca_records, other_records)
内容的提问来源于stack exchange,提问作者Valentina
相关产品推荐
相关产品推荐

