[英]using paste() in a for loop with glm
在下面的代碼中,df.pts是一個數據幀。 我想使用不同的y變量(代碼中僅顯示兩個)運行大約十二個glm模型。 我正在使用帶有paste()函數的for循環,但似乎無法使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))
}
非常感謝! 主要問題是df.list是向量列表,並且應該是名稱列表。
換句話說,就是要糾正問題...
df.list = ("SPCA2", "CLQU2")
代替
df.list = list(SPCA2, CLQU2)
但是,也正確指出該數據幀my.data不是正確的數據幀。 最后,雖然沒有它也可以工作,但是函數as.formula()也可以工作。 再次非常感謝!
您需要在paste
之前添加as.formula
,以讓R知道您要將其視為公式而不是字符。
qp.mod = glm(as.formula(paste(i,"~NDVI+ELEV")), family="quasipoisson", data=my.data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.