2017-02-03 2 views
1

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

Моя первая мысль была использовать и применять 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" 
Смежные вопросы