如何在R中为autoKrige {automap}循环编写公式

时间:2017-04-10 22:34:01

标签: r formula spatial kriging

我有一个大矩阵,列名如下:

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

当我在autoKrige中使用automap函数时,必须以如下格式编写公式: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 个答案:

答案 0 :(得分:2)

使用函数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)
}