rstudio 提取列名中_前面的字符,按提取结果分组对列求和
时间: 2024-10-25 11:04:39 浏览: 9
Omics_Notebook_Rstudio:在交互式Rstudio中运行Omics_Notebook的容器
RStudio 中,你可以使用`dplyr`包提供的管道操作 `%>%` 和一些函数来实现这个需求。假设你有一个数据框(data frame),其中的列名包含下划线 `_` 并且你想提取下划线前的字符作为新的分组依据,然后计算每个分组的总和。可以按照以下步骤操作:
1. 首先,安装并加载`dplyr`和`stringr`库,如果你还没有安装它们,可以运行:
```sh
install.packages("dplyr")
install.packages("stringr")
library(dplyr)
library(stringr)
```
2. 然后,使用`rename_at()`函数替换列名,提取下划线前的部分,并将结果保存到新列中,例如用`str_remove_prefix()`函数去除下划线:
```r
df <- df %>%
rename_at(vars(matches("_.*")), ~ str_remove(.x, "_"))
```
3. 接着,使用`group_by()`对新列进行分组,`summarise()`计算每个分组中所有数值列的总和。假设你想要对数值类型的列求和,可以这样做:
```r
df_summary <- df %>%
group_by(new_column_name) %>% # 替换 "new_column_name" 为你实际的新列名
summarise_all(sum, na.rm = TRUE) # 计算所有列的总和,默认忽略NA值
```
现在,`df_summary`就是你想要的结果,它按新列名分组并对每一组的数值列进行了求和。
阅读全文