2017-02-03 3 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)이 올바른 항목을 잡을 것 같다,하지만 어떻게 그 이름을 바꾸려면?

  • "_24"또는 "_48"이있는 것을 변경하지 않고 어떻게 "_0"을 제거 할 수 있습니까?

답변

1

우리는 문자열의 끝 ($)에서 0으로 _ 다음과 일치하는 sub를 사용하여 빈 ("")

df1$subjectid <- sub("_0$", "", df1$subjectid) 
df1$subjectid 
#[1] "CC0005" "CC0196" "CC0197" "CC0202_48" "CC0212" "CC0239_24" 
로 교체 할 수 있습니다