通过删除额外的字符来重新编码值

时间:2017-02-03 05:39:53

标签: r grepl

我的数据集变量中的大多数值最后都有两个额外的字符来重新表示来自主题的访问次数,例如id_0,id_24或id_48 ......如下所示:

  subjectid                   le                 lt
1  CC0005_0                 4022.5             133.8
2  CC0196_0                 4099.6             190.7
3  CC0197_0                 5518.1             595.0
4  CC0202_48                 6604.3             358.2
5  CC0212_0                 7047.3             427.8
6  CC0239_24                 4935.2             215.7

我的第一个想法是同时使用apply和grepl,但我无法通过:grepl("*_0", mydata$subjectid),这似乎抓住了正确的项目,但是如何重命名它们?

  • 我怎样才能摆脱" _0"没有改变那些有" _24"或" _48"?

1 个答案:

答案 0 :(得分:1)

我们可以使用sub来匹配字符串末尾的_后跟0($),并将其替换为空白(""

df1$subjectid <- sub("_0$", "", df1$subjectid)
df1$subjectid
#[1] "CC0005"    "CC0196"    "CC0197"    "CC0202_48" "CC0212"    "CC0239_24"