从数据框列表的最后一列中删除字符

标签 r list dataframe

我有一个包含 30 个数据帧(约 1000 行 X 3 列)的列表 listDF。在每一列的最后一列中,我都有一个复合字符,如下所示:

Date        Origin              Chemical
28/10/2012  Artificial nuclides Cs-137__Sea
28/10/2012  Natural nuclides    Ra-226__Clouds
28/10/2012  Natural nuclides    Ra-228__Sands
28/10/2012  Natural nuclides    Th-228__Sea
28/10/2012  Artificial nuclides Cs-137__Rocks

对于每个 df 的最后一列,我怎样才能简单地删除“__Sea”、“__Clouds”...并只保留化学名称?

最佳答案

这也可以通过 base R 中的 trimws 完成

listDF <- lapply(listDF, transform, 
      Chemical = trimws(Chemical, whitespace = "__.*"))

或者在 tidyverse

library(stringr)
library(purrr)
library(dplyr)
listDF <- map(listDF, mutate, Chemical = str_remove(Chemical, "__.*"))

关于从数据框列表的最后一列中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71020612/

相关文章:

ios - 创建使用 XIB 文件的 Storyboard

python - 如何计算Python中列表成对比较的元素频率?

scala - 将列表拆分为列表列表

r - 如何将 2 的列表的列表变成 2 的单个列表?

r - 为什么从索引零开始对向量进行切片是有效的?

python - 使用 python 和 pandas 回测交易策略 - 一次仅识别一个未平仓头寸

python - 循环中从数据帧获取最大值和最小值

r - 在 r 中,如何根据列表元素对数据框的一些列降序排列,而其他列升序排列?

r - 如何使用mlogit模型建立AIC选型表

r - 在 R 中选择与时间模式匹配的行