R- 在特定模式后修剪数据帧中的字符串

标签 r regex dataframe trim

我无法弄清楚如何修剪数据框中字符串的末尾。

我想将所有内容修剪为“基本”名称,在#和字母之后,一个句点,然后是一个数字。我的目标是将数据框中的所有内容修剪为这个“基本”名称,然后将具有相同“基本”的值相加。我认为可以修剪、然后合并并求和这些值。

    ie/
    Gene_name   Values
    B0222.5     4
    B0222.6     16
    B0228.7.1   2
    B0228.7.2   12
    B0350.2h.1  30
    B0350.2h.2  2
    B0350.2i    15
    2RSSE.1a    3
    2RSSE.1b    10
    R02F11.11   4

    Gene_name   Values
    B0222.5     4
    B0222.6     16
    B0228.7     14
    B0350.2     47
    2RSSE.1     13
    R02F11.11   4

感谢您的帮助!

最佳答案

这是使用dplyrstringr 包的解决方案。您首先使用提取的基本模式创建一个列,然后使用 dplyr 中的 group_bysummarise 函数来获取每个值的总和名称:

library(dplyr)
library(stringr)
df2 = df %>% mutate(Gene_name = str_extract(Gene_name,"[[:alnum:]]+\\.\\d+")) %>% 
group_by(Gene_name) %>% summarise(Values = sum(Values))

  Gene_name Values
      <chr>  <int>
1   2RSSE.1     13
2   B0222.5      4
3   B0222.6     16
4   B0228.7     14
5   B0350.2     47
6 R02F11.11      4

关于R- 在特定模式后修剪数据帧中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947510/

相关文章:

php - 如何在 PHP 中禁用 'e' PREG_REPLACE_EVAL 修饰符?

r - R 中出现 "Variable Lengths Differ"错误的原因是什么?

r - 在 R 中使用 openxlsx2 导入时出现错误?

r - 在 ggplot2 中打破 Y Axis

r - 将 pROC 包与 h2o 一起使用

R strsplit 问题(容易解决?)

regex - 为什么 `word (.(?!another-word))*?`只匹配一个字符?

python - 如何改进在 Python 中移动所有不包含特定日期的文件?

python - 选择特定列以计算 Pandas 中的行式总计

Python Groupby 省略列