Я пытаюсь автоматизировать процесс для создания интерполированных геохимических карт. Я создал цикл, который, по сути, начинается с столбца № 13 и проходит до # 67.Добавление аргумента в математическую функцию
Однако для части кода IDW требуется заголовок текущего столбца для сопоставления соответствующих геохимических параметров.
Например, Заголовок столбца # 13 является «Ag_ppm», поэтому исходный код следующим образом:
LogSr.idw = idw(log10("Ag_ppm") ~ 1 , locations=NGSA.SPDF, newdata=NGSA.grid,
maxdist=15000, nmin=4)
Я был в состоянии получить заголовок столбца в интересах в каждом цикле, используя (где я увеличивается на 1 каждый петли; 13 , 14, 15 и т.д.):
coln <- colnames(NGSA.df[i])
Однако, когда я просто заменить "Ag_ppm", чтобы Coln, линия терпит неудачу с заданной погрешностью. Я пробовал различные подходы, включая вставку, хотя все по-прежнему приводит к той же ошибке.
LogSr.idw = idw(log10(coln) ~ 1, locations=NGSA.SPDF, newdata=NGSA.grid,
maxdist=15000, nmin=4)
Ошибка в log10 (Coln): нечисловой аргумент математической функции
Есть достаточно простой подход с использованием текущего метода?
Одна вещь: используйте вместо этого 'colnames (NGSA.df) [i]'. Ваша версия без необходимости копирует весь столбец данных, тогда как вам нужно только имя переменной. Пожалуйста, укажите имя используемого вами пакета, а также 'idw' не является базовой функцией R. – lmo
Для этой строки кода пакет «gstat» –
Должен признать, что я удивлен, что 'log10 (« Ag_ppm »)' не бросает ту же ошибку. Попробуйте обернуть coln в 'get':' log10 (get (coln)) '. – lmo