2013-12-10 3 views
0

은 내가 미친 수준의 일을 없애 할 R - 레벨이 성가 시게 일을 엉망으로되어, 간단한 문제

> q 
[1] 0.4231 
Levels: 0.4231 

과 같이 보이는 R의 변수가있다. 나는 단지 그 가치를 원한다. 어떻게해야합니까? 시도 :

> as.numeric(q) 
[1] 1 

어떤 작동하지 않습니다.

예를 들어, 내가 현재

> q+1 
[1] NA 
Warning message: 
In Ops.factor(q, 1) : + not meaningful for factors 
+1

어리석은 질문 : 왜 처음부터 그런 요소입니까? 니가 뭔가 잘못 읽고있는 것 같니? –

답변

3

난 당신이 몇 가지 간단한 단계를 수행 잊어 버린 생각 할 수없는 몇 가지 간단한 산술과 같은 q+1을 수행하고자합니다. 먼저 q를 숫자로 변환하려면 as.numeric(q)은 q 자체를 숫자로 변환하지 않고 숫자 인 것처럼 q를 반환합니다. 둘째, 요인에서 숫자로 직접 갈 수는 없습니다. 문자로 변환 한 다음 숫자로 변환해야합니다.

q<-as.factor(0.423) 
q 
[1] 0.423 
Levels: 0.423 
as.numeric(q) 
[1] 1 
q+1 
[1] NA 
Warning message: 
In Ops.factor(q, 1) : + not meaningful for factors 

당신이 숫자에 직접 요소를 변경할 수 있음을 표시하려면 : Q + 1 유럽 연합 (EU)

없는 방법을 볼

내가 당신의 예를 재현 :

내가 다음 뭘하려
q<-as.numeric(q) 
q+1 
[1] 2 

마지막으로,이 숫자 문자열에 인자 Q로 변환하는 올바른 방법입니다 :