2014-05-24 2 views
1

this site의 도움으로 다중 회귀 분석을 수행하고 있습니다. 하는 동안다중 회귀 회귀 분석의 오류 : "NAs는 아래 첨자로 허용되지 않습니다"

나는 오류가 발생했습니다 :

results <- multinom(data.mod$baseline~data.mod$cluster+data.mod$GDP.z+data.mod$WGI.z,data=data.mod) 

데이터 집합을 다음과 같이 내가 회귀 분석을 수행 한

> dses1 <- data.frame(ses = c("Cluster1", "Cluster2", "Cluster3"), GDP = mean(data.mod$GDP.z)) 
    > dses1 
      ses   GDP 
    1 Cluster1 -0.03853141 
    2 Cluster2 -0.03853141 
    3 Cluster3 -0.03853141 

    > predict(results, newdata = dses1, "probs") 
    NAs are not allowed in subscripted assignments 

이 같다 : 이미 this stack을 확인

> head(data.mod) 
     cluster type  GDP.z  WGI.z baseline 
    1 Cluster3 Type1 -0.15927872 0.0750328 Type1 
    2 Cluster3 Type1 0.18363900 0.1066325 Type1 
    3 Cluster1 Type1 1.58636819 0.0750328 Type1 
    4 Cluster3 Type1 -0.27892696 0.7034406 Type1 
    5 Cluster3 Type1 -0.37910360 0.6864063 Type1 
    6 Cluster2 Type1 -0.09978649 0.0750328 Type1 

하지만, 다시 같은 오류가 발생했습니다.

답변

2

예측을 사용하는 경우 정확하게 열 이름을 coef(results)에 표시된 것과 일치시켜야합니다. 불필요하게 모든 변수 이름에 테이블 이름 접두사를 남겨 두었으므로 아마도 오류의 원인 일 것입니다.

results <- multinom(baseline~cluster + GDP.z + WGI.z, data=data.mod) 

는 또한이 형성 WGI.z 누락 것으로 보인다 시도하여 newdata (가 모델 이었기 때문에, 거기 있어야한다). 그래서 newdata

dses1 <- data.frame(cluster = c("Cluster1", "Cluster2", "Cluster3"), 
    GDP.z = mean(data.mod$GDP.z), 
    WGI.z = mean(data.mod$WGI.z) 
) 

을해야하고 모든 설정해야합니다, 그래서 그 이름은 수식의 이름과 일치해야합니다.

+0

이제 작동합니다! 정말 고마워요! – user2978524

+0

@ user2978524 작동하는 경우이 대답 옆의 체크 표시를 클릭하여 동의하십시오. 그것이 StackOverflow가 작동하는 방법입니다. – MrFlick

+0

좋습니다. 감사. 결과를 시각화하는 좋은 방법을 알고 있는지 궁금합니다. GDP와 WGI의 두 가지 제어 변수가 있기 때문에 [웹 페이지] (http://www.ats.ucla.edu/stat/r/dae/mlogit.htm)는 내 경우에는 사용할 수 없습니다. – user2978524