2014-01-14 2 views
0

의 인수로 분해합니다. 다음 데이터 프레임, 인수 분해 된 var 및 레이블 번호를 그리스 문자로, 1에서 alpha, 2에서 beta, 3에서 gamma로 가정합니다. 그러나 다음 코드는 작동하지 않습니다.그리스어 표현식이있는 숫자 변수를 R

var<-c(1,1,2,2,3,3) 
df<-as.data.frame(var) 
df$var<-factor(df$var, levels=c(1,2,3), 
       labels=c("1"=expression(alpha), 
         "2"=expression(beta), 
         "3"=expression(gamma))) 

왜 최종 데이터 프레임은 그리스 문자가 아니라 텍스트 표현식입니까? 아무도 이것에 나를 도울 수 있습니까? 고마워.

답변

2

로케일이이 문자를 지원합니까? '\ u03b1'이 (가) 알파 문자를 인쇄합니까? 그렇지 않은 경우 인코딩을 변경해야합니다. 예를 들어,

Sys.setlocale('LC_CTYPE', 'greek') 

그런 다음 등, 알파, 베타에 대한 유니 코드 문자열 expression

df$var<-factor(df$var, levels=c(1,2,3), 
       labels=c("1"='\u03b1', 
         "2"='\u03b2', 
         "3"='\u03b3')) 

을 통화를 대체 당신이 expression를 사용하는 방법은 플롯에만 유효합니다. 정말로에 그리스 문자가 필요한 경우가 아니라면 'alpha', 'beta'등의 단어를 사용하여 줄을 써야합니다.

+0

이것이 내가 찾고있는 것이고, "표현"을 사용하는 것에 대한 설명은 ~ – Chen

0

df$var=factor(var,labels=c('alpha','beta','gamma'))

이 알파, 베타, 감마로 변환 1,2,3와 dataframe를 생성한다. 희망이 당신이 무엇을 찾고 있었는지

+0

이 코드는 원래 코드가 수행 한 결과를 제공하지만 어쨌든 그 결과는 같습니다. – Chen

+0

미안해, 미안해, 니가 원했던 것을 얻을 수있어서 기뻐. –