Линейная регрессия в R с 2-уровневой погрешностью - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь выполнить линейную регрессию в R с двухуровневым фактором пола в качестве категориальной переменной, но R приводит к ошибке, могу я спросить, как я могу решить эту проблему?Вы можете скачать мои данные здесь https://www.dropbox.com/s/jbuyearzlw5zf9q/covar.csv?dl=0

Ваша помощь очень ценится!

> covar = read.csv("covar.csv")
> yv = as.numeric(covar$yv)
> sex = as.factor(covar$sex)
> model = lm(yv~sex)
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels
> head(sex)
[1] 0 0 1 1 0 0
Levels: 0 1
> head(yv)
[1] 23 NA NA NA NA 23

1 Ответ

0 голосов
/ 12 февраля 2019

К сожалению, 100% точек в ваших данных с полом = 1 имеют yv = NA.Ваши данные на самом деле содержат только данные пола = 0.

summary(covar[covar$sex==1,])
       yv              sex   
 Min.   : NA      Min.   :1  
 1st Qu.: NA      1st Qu.:1  
 Median : NA      Median :1  
 Mean   :NaN      Mean   :1  
 3rd Qu.: NA      3rd Qu.:1  
 Max.   : NA      Max.   :1  
 NA's   :187533          

table(covar$sex)
     0      1 
220685 187533 

sum(is.na(covar[covar$sex ==1,1]))
[1] 187533
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...