如何用一个值替换R中某些字符开头的所有值?

时间:2016-10-24 19:20:11

标签: r dataframe replace

我希望这不是重复,我无法找到一个引用完全相同问题的问题。

我在R中有一个数据框,在一列内(我们称之为'任务')有170个项目名为EC1:EC170,我想替换它们以便它们只是说“EC”而不是有一个跟随他们的数字。

重要的是,此列还有其他类型的值,不以EC开头,因此我不只是想更改列中所有值的名称,而是只有以'EC'开头的那些。

在linux中,我会使用'sed'并将'EC *'替换为'EC',但我不知道如何在R中执行此操作。

2 个答案:

答案 0 :(得分:0)

Rich Scriven的建议开始很有效,我写了df $ task而不仅仅是'task'。非常感谢!这就是我使用的:df $ task [startsWith(df $ task,“EC”)]< - “EC”

答案 1 :(得分:0)

我也推荐正则表达式。您正在寻找字符串“EC”后跟1到3位数字,并将这些事件替换为“EC”:

df$Task = sub("EC\\d{1,3}", "EC", df$Task)