2012-12-19 3 views
4

R을 사용하여 회귀를 시도합니다. 다음 코드를 가져올 때 문제가 없습니다. CSV 파일R 선형 회귀 문제 : lm.fit (x, y, offset = offset, singular.ok = singular.ok, ...)

dat <- read.csv('http://pastebin.com/raw.php?i=EWsLjKNN',sep=";") 
dat # OK Works fine 
Regdata <- lm(Y~.,na.action=na.omit, data=dat) 
summary(Regdata) 

그러나 회귀를 시도하면 작동하지 않습니다.

Erreur dans lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
    aucun cas ne contient autre chose que des valeurs manquantes (NA) 

내 CSV 파일은 모두 숫자이며 "셀"이 비어 있으면 "NA"값을 갖습니다.

na.action=na.omit 

PS : 나는 오류 메시지도로를 얻을 왜, 이해가 안 ...

일부 열은 비어 있지 않은 일부 다른 행은 NA 값 기호와 때로는 비어의 데이터 CSV는 다음에서 제공됩니다. http://pastebin.com/EWsLjKNN

+0

Faraway 's (무료!) 서적을보고 싶을 수도 있습니다. http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf –

+0

제안 된 책이 정확합니다. 필요); – S12000

답변

5

모든 데이터 프레임 행에 적어도 하나의 누락 값이 포함되어 있기 때문에이 오류 메시지가 나타납니다.

apply(data,1,function(x) sum(is.na(x))) 
[1] 128 126 82 78 73 65 58 34 31 30 28 30 20 21 12 20 17 16 12 42 50 128 

그래서 당신이 회귀 재치 데이터 프레임의 lm()na.action=na.omit 모든 라인이 제거를 실행할 때 회귀에 맞는 데이터가 없습니다 :이 코드를 예를 들어 확인할 수 있습니다.

그러나 이것은 주요 문제가 아닙니다. 제공된 데이터에 보유하고있는 모든 정보가 포함되어있는 경우 165 개의 독립 변수 (X 변수)를 사용하여 회귀를 적용하려는 반면 22 개의 관찰 만 수행하려고합니다. 독립 변수의 수는 관측 수보다 적어야합니다.

+0

내 생각은 정확하게. –

+0

두 가지 조건이 필요하다는 것을 이해하면 답변 해 주셔서 감사합니다. 첫째, 열보다 많은 행을 갖는 것입니다. 두 번째는 빠뜨리는 가치를 얻는 것입니다. 하나의 누락 된 값이있는 경우 모델이 좋지 않습니다. 그게 무슨 뜻이야? – S12000

+0

@ Swiss1200 일부 누락 된 값을 가질 수 있으며 그 수는 관찰 한 횟수에 따라 다릅니다. 그러나 완전한 관측 값 (누락 값이없는 행)이 독립 변수 수 (열)보다 큰지 확인해야합니다. –

-1

저는 개인적으로 이것을 경험했기 때문에이 부분에 약간의 명확성을 추가 할 수 있다고 생각합니다. 내 문제는 gl (genularized least squares model)과 표준 linaer 모델을 제외하고는 여기에 있습니다. 논리와 같은 것은 아마도 여기에 적용될 수도 있고, 비슷한 상황에 적용될 수도 있습니다.

나는 지금까지 아무도 말한 것을 논박하지 않습니다. 사람들이 관측으로 보는 것과 약간의 혼란이있을 수 있으며, R이 이러한 것을 지각하는 방식 일 수 있습니다.

160 개 이상의 독립 변수가 있다고 가정 해보십시오. 모든 데이터가 들어있는 소스를 하나만 갖고 있다고 가정 해보십시오. 파일, 데이터베이스 등에서 가져옵니다. 회귀 분석의 목적에 맞게 동일한 양의 응답 변수 또는 R을 만족하는 값을 가지고 있다고 가정합니다.

R은 2 개의 관찰이 있음을 알려줍니다. 이제 다른 소스에서 똑같은 방법으로 데이터를 얻은 경우 RStudio를 글로벌 환경에서 보면 3 가지 관찰 결과가 있습니다.

내가 언급 한 이유는 수학적 의미에서 용어 "관찰"(여기에서 사용 된 것처럼)이 완전히 수용 가능하기 때문입니다. R의 관점에서 볼 때, 관측치는 여러 가지 관점에서 관측합니다.

내가 좋아하는 문제에 큰 공헌을했다. 그리고 나는 값을 잃어 버렸다. na, omit, na.action 등등. 내가 OrchardSpray 데모를 보았을 때, 나는 검토했다. 내 자신의 방법론, 나는 그것을 알아 냈다.

요점은 우리가 데이텀에서 "관찰"을 어떻게 퍼크하는 것이 한 가지라는 것입니다. R에는 또 다른 용어가 있으며 오류 메시지가 나오는 방식은 혼란을 야기 할 수 있습니다.

무슨 뜻인지 아시겠습니까?