我无法弄清楚如何修剪数据框中字符串的末尾。
我想将所有内容修剪为“基本”名称,在#和字母之后,一个句点,然后是一个数字。我的目标是将数据框中的所有内容修剪为这个“基本”名称,然后将具有相同“基本”的值相加。我认为可以修剪、然后合并并求和这些值。
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
感谢您的帮助!
最佳答案
这是使用dplyr
和stringr
包的解决方案。您首先使用提取的基本模式创建一个列,然后使用 dplyr
中的 group_by
和 summarise
函数来获取每个值的总和名称:
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/