데이터 프레임의 모든 변수에서 단일 변수 로지스틱 회귀를 수행해야합니다. 저는 166 개의 변수를 가지고 있으며,이 프로세스를 단순화하기 위해 lapply를 사용하려고 노력해 왔습니다. 그러나, 나는 오류가 계속 :R 함수가 자체적으로 작동합니다. lapply 내에서 사용하면 오류가 발생합니다.
> lapply(data$Gates, FUN=Lmodel)
Error in model.frame.default(formula = Sstatus ~ x, data = data,
na.action = na.exclude, :
variable lengths differ (found for 'x')
을 그래서 같은 기능 Lmodel를 구축 :
Lmodel<-function(x){
(glm(Sstatus~x, data=data, family="binomial"))
}
lapply와 함께 사용하지 않을 경우이 기능은 작동합니다
> Lmodel(data$Gates)
Call: glm(formula = Sstatus ~ x, family = "binomial", data = data,
na.action = na.exclude)
Coefficients:
(Intercept) xy
2.5986 -0.6527
Degrees of Freedom: 169 Total (i.e. Null); 168 Residual
(8 observations deleted due to missingness)
Null Deviance: 96.72
Residual Deviance: 95.57 AIC: 99.57
내 종속 변수 Sstatus에는 누락 된 값이 포함되어 있으며 이것이 내 문제가있는 곳이라고 생각합니다. 그러나, 나는 왜 함수가 자체적으로 작동하는지 이해하지 못한다. 그러나 lapply와 함께 사용할 때는 그렇지 않다. 이 문제를 어떻게 해결할 수 있습니까?
나는 당신이 무엇을 lapply 이해했다고 생각하지 않습니다. 문서를 연구해야합니다. – Roland
'lapply()'는 첫 번째 인자로 들어가서 첫번째 인자의 원소를 하나씩 함수에 넘긴다. – jogo
'lapply (data $ Gates, ...)'를 사용했을 때 한 번에 하나의 값을 함수에 보냈습니다. 함수를 사용했을 때 전체 크기의 벡터를 보냈습니다. –