如何替换R中列的内容?

时间:2016-12-24 07:58:43

标签: r dplyr

我有一个包含以下数据的文件,我正在尝试更改列" condition"包括" GBM1,GBM10 ......"通常的名称只是" GBM"。 我需要R命令的帮助才能将它们转换为GBM。 我想知道如何使用dplyr来点缀它。

以下是数据..

dat <- data.frame(
 sample = c("GSM564972", "GSM564973", "GSM564974"),
 condition= c("GBM1", "GBM10", "GBM11"))

期望的输出:

   sample condition
GSM564972       GBM
GSM564973       GBM
GSM564974       GBM

2 个答案:

答案 0 :(得分:1)

以下是str_extract

的选项
library(stringr)
library(dplyr)
dat %>%
     mutate(condition = str_extract(condition, "\\D+"))

答案 1 :(得分:0)

您可以使用sub功能将数字替换为&#34;&#34; (空字符串)与mutate包中的dplyr结合使用。

library(dplyr)
# use sub within mutate to change column
mutate(dat, condition = sub("\\d+", "", condition))

有关sub用法的示例,请参阅here