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

Recoding values, by removing extra chars

我的数据集的变量中的大多数值在末尾都有两个额外的字符来表示主题的访问次数,例如 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),这似乎抓住了正确的项目,但是如何重命名它们?

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

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