Как написать формулу в цикле для autoKrige {automap} в R

У меня есть большая матрица, и имена столбцов следующие:

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

Итак, проблема в том, что формула имеет неправильный формат. Интересно, как я могу это исправить? Большое спасибо.


person Yang Yang    schedule 10.04.2017    source источник


Ответы (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)
}
person Sébastien Rochette    schedule 11.04.2017
comment
Спасибо большое за вашу помощь. - person Yang Yang; 11.04.2017