2017-04-10 29 views
0

我有一個大的矩陣和列名如下:如何寫一個公式在一個循環爲autoKrige {自動地圖}中的R

colid=vector(length = 60) 
for(i in 1"60) { 
    colid[i]=paste0("V",i) 
} 

當我在automap使用autoKrige函數,公式必須寫成這樣的格式:V1〜1。當我試圖做到這一點使用一個循環,出現錯誤:

library(automap) 
value=list() 
for(i in 1:60) { 
    value[[i]]=autoKrige(colid[i]~1,Mydata,new_data = newgrid) 
} 

Error: too many spatial dimensions: 3068 In addition: Warning message: 
NAs introduced by coercion 

然後我試圖解決這個問題,我測試公式:

> colid[10]~1 
colid[10] ~ 1 

那麼,問題是,因爲公式不以正確的格式。我不知道如何解決這個問題?非常感謝。

回答

1

使用功能as.formula變換字符公式:

colid=vector(length = 60) 
value=list() 
for(i in 1:60) { 
    colid[i] <- paste0("V",i, " ~ 1") 
    value[[i]]=autoKrige(as.formula(colid[i]),Mydata,new_data = newgrid) 
} 
+0

非常感謝你的幫助。 –