종속 변수는 1 열, 독립 변수는 9 열인 데이터 세트가 있습니다. 독립 변수의 모든 조합을 취하는 R에 로짓 모델을 적용해야합니다.다양한 수식을 사용하여 여러 glm 호출에 대해 데이터를 한 번만로드하는 방법은 무엇입니까?
나는 "glm"함수에서 같은 것을 사용할 수있는 수식을 만들었습니다. 그러나 "glm"함수를 호출 할 때마다 데이터가로드됩니다 (각 반복마다 수식 만 변경 될 때마다 동일합니다).
내 계산 속도를 높이기 위해이를 피할 수있는 방법이 있습니까? "glm"함수에서 수식의 벡터를 사용하고 데이터를 한 번만로드 할 수 있습니까?
코드 :
tempCoeffV <- lapply(formuleVector, function(s) { coef(glm(s,data=myData,family=binomial, y=FALSE, model=FALSE))})
formuleVector is a vector of strings like:
myData[,1]~myData[,2]+myData[,3]+myData[,5]
myData[,1]~myData[,2]+myData[,6]
MYDATA 각 lapply 문에서 data.frame
이다가, MYDATA는 동일하게 유지됩니다. 약 1,00,000 개의 레코드가있는 data.frame입니다. formuleVector는 511 개의 다른 수식이있는 벡터입니다. 이 계산 속도를 높이는 방법이 있습니까?
수식에'mydata [, i]'를 사용하지 말고 실제 열 이름을 사용하십시오. 'update'를 시도해보고, biglm 패키지와 같은 대안을 살펴보십시오. 아마도 MuMIn 패키지에서'dredge' (또는 병렬 처리 된'pdredge')가 여러분에게 흥미로울 수 있습니다. 마지막으로, 실제 답변을 기대한다면 최소한의 재생산 가능한 예제를 제공하십시오. – Roland
@ ZheyuanLi 아니요, 요인이 없습니다. – rishiag