В приведенном ниже коде df.pts — это кадр данных. Я хотел бы запустить около дюжины моделей glm, используя разные переменные y (в коде показаны только две). Я использую цикл for с функцией paste(), но не могу заставить функцию paste() работать должным образом. Что мне не хватает в paste()?
SPCA2 = df.pts[,3]
CLQU2 = df.pts[,4]
df.list = list(SPCA2, CLQU2)
for (i in df.list) {
qp.mod = glm(paste(i,"~NDVI+ELEV"), family="quasipoisson", data=my.data)
print(summary(gp.mod))
}
qp.mod = glm(as.formula(paste(i,"~NDVI+ELEV")), family="quasipoisson", data=my.data)
? - person Hao   schedule 10.04.2015data=my.data
; R попытается найти переменные, указанные в формуле, в этом, казалось бы, несуществующем (?)my.data
. ЕслиNDVI
иELEV
действительно находятся в кадре данных с именемmy.data
, проблема в другом. Но если это просто векторы, не принадлежащие ни одному фрейму данных, просто опустите аргументdata=my.data
. - person Dominic Comtois   schedule 10.04.2015df.pts[,3]
) вformula
. Здесь вы хотите передать имя переменной. Таким образом,df.list
должен быть списком имен переменных, а не фактических данных. примечание заключается в том, что у вас есть опечатка в вашем итоговом заявлении. - person user20650   schedule 10.04.2015