У меня есть набор данных с 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 является data.frame
В каждом lapply заявлении MyData остается тем же самым. Это data.frame с около 10000 записей. formuleVector - вектор с 511 различными формулами. Есть ли способ ускорить это вычисление?
Не используйте 'mydata [, i]' в формулах, используйте фактические имена столбцов. Попробуйте 'update', посмотрите на альтернативы, такие как пакет biglm. Возможно, вам интересен 'dredge' (или параллельный' pdredge') из пакета MuMIn. Наконец, укажите минимальный воспроизводимый пример, если вы ожидаете фактического ответа. – Roland
@ ZheyuanLi Нет, у меня нет факторов. – rishiag