2010-06-08 4 views

답변

3
newvariable <- factor(substr(as.character(oldvariable),nchar(as.character(oldvariable)),nchar(as.character(oldvariable)))) 

:

k <- levels(oldvariable)[oldvariable] 
newvariable <- factor(substr(k,nchar(k),nchar(k))) 
+0

첫 번째 응답은 훌륭했습니다. – Brandon

-1

이 어떤 언어입니다() (oldvariable oldvariable, 길이 (oldvariable) -1, 길이) SUBSTR -

newvariable < :

내가 이런 일을하려고했다?

시도 :

오른쪽 (oldvariable, 1)

또는

newvariable < - 나는 100 % 확실하지 않다

+0

R은 S 언어를 기반으로하는 기능 통계 프로그래밍 언어이다. – Brandon

5

SUBSTR (-1) oldvariable, 길이 (oldvariable) 질문이 있는데 ... 당신이 필요로하는 것이 무엇인지 생각해보십시오. nchar

0

나는 또한이 질문에 당신이 원하는 것을 100 % 확실하지도 않습니다. 저는 여러분이 factor 컬럼을 가진 데이터 셋을 가지고 있고 인자 레벨을 각 레벨의 마지막 글자로 줄이려고한다고 생각합니다. 또 하나

#gather the current levels, we'll call it 'lev' 
lev<-levels(oldvariable) 

#use substr and char on 'lev' to get the last letter of each level 
newvariable<-substr(lev, nchar(lev), nchar(lev)) 

#reset the levels on the 'oldvariable' to the last letter using the results in 'newvariable' 
levels(oldvariable)<-newvariable