Запись значений путем удаления лишних символов

Большинство значений в переменной моего набора данных имеют два дополнительных символа в конце, чтобы представить число посещений субъекта, например, 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 ответ

Решение

Мы можем использовать sub чтобы соответствовать _ с последующим 0 в конце ($) строки и замените ее пробелом ("")

df1$subjectid <- sub("_0$", "", df1$subjectid)
df1$subjectid
#[1] "CC0005"    "CC0196"    "CC0197"    "CC0202_48" "CC0212"    "CC0239_24"
Другие вопросы по тегам