我正在尝试使用2级性别作为分类变量在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
答案 0 :(得分:1)
不幸的是,数据中sex = 1的点中有100%的yv = NA。 您的数据实际上只包含sex = 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