2014-07-15 6 views
-2

수치 변수를 예측하고 싶습니다. 나는 두 가지 요소를 가지고있다. 그 모든 요소들에 대해 저는 숫자 상응하는 것을 가지고 있습니다. 이제 해당 수치를 해당 요인에 할당하고 예측에 사용하는 것이 완벽 할 것입니다. 이것이 가능한가? 이것이 가능하지 않은 경우 요인을 숫자로 대체해야합니다. 그렇게하는 가장 좋은 방법은 무엇입니까?요인 수치 입력 [R]

예제 :

df = data.frame(f=c("a","b","a","c"),v=c(2,4,2,6)) 
lookup = data.frame(name=c("a","b","c"),v=c(1,2,3)) 

나는

df2 = data.frame(f=c(1,2,1,3),v=c(2,4,2,6)) 
cor(df2$f,df2$v) # will be 1 
+0

가 어떻게 뜻 크다? 요소는 범주입니다. 예측을 말할 때, 당신은 무엇을 의미합니까? – TARehman

+0

R은 요인을 범주 형 변수 및 숫자 형 변수로 연속 변수로 취급합니다. 두 가지 유형의 변수는 종종 서로 다른 통계적 방법을 가지며 모델의 해석은 변수 유형에 따라 다릅니다. 먼저 데이터에 적합한 분석 유형을 먼저 결정해야합니다. – MrFlick

+0

더 명확하게하기 위해 예제를 추가했습니다. 글자는 내가 가지고있는 것으로, 룩업 테이블의 숫자는 이전에 계산 한 평균값 중 일부를 사용하고 싶습니다. – nik

답변

1

또는

df2 <- merge(df, lookup, by.x = "f", by.y = "name") 
cor(df2[, 2], df2[, 3]) 

또는 데이터 세트의 경우

는 요인이 수치 등가물을 가지고

library(data.table) 
setkey(setDT(df), f) 
setkey(setDT(lookup), name) 
df2 <- df[lookup] 
cor(df2[, 2, with = F], df2[, 3, with = F]) 
+0

감사합니다. 합병은 나를 위해 완벽하게 작동했습니다. – nik

0

이 도움을합니까 좀하고 싶습니다 무엇?

cor(lookup$v[match(df$f,lookup$name)],df$v) 
+0

감사합니다, 그뿐만 아니라,하지만 단 하나의 열 식별에 필요한 경우에만 작동합니다. 나는 더 많은 것을 필요로한다. (심지어 나의 예에는 포함되지 않았다.) – nik