Как написать формулу в цикле для 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
Итак, проблема в том, что формула не в правильном формате. Интересно, как я могу это исправить? Большое спасибо.
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)
}