Я использую модель для анализа выбросов парниковых газов из районов посева. Чтобы попытаться измерить ручку стандартного отклонения данных, я пытаюсь выполнить анализ стиля Монте-Карло на ней через несколько итераций.R Итерация модели по столбцам таблицы данных
model parameters
a <- 0.1474 # Alpha
b <- 0.0005232 # Beta
g <- -0.00001518 # Gamma
d <- 0.000003662 # Delta
rain <- crm$rain # rainfall value for that location from the col 'rain'
Данные в data.table
, как показано ниже, но N столбцов запустить из N1-N100:
rn rain Wheat N1 N2 N3 N4 N5 N6
# 1: 10007 1049.61 0.1718 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
# 2: 10018 1114.31 0.1629 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
# 3: 10023 1361.61 0.1082 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
# 4: 10024 1407.20 0.0494 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
# 5: 10025 1499.56 0.0200 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
# 6: 10026 1654.13 0.0040 0.6363109 0.939479 0.9242736 0.9018818 0.6556216 0.1150655
Так что мой вопрос, как я могу применить свою модель ниже каждого столбца N и добавить результат до конца таблицы данных? Модель работает с фиксированным значением для N, но я борюсь за то, как получить значение из каждого столбца в модель.
logN2O <- function (x) {a+(b*rain)+(g*N)+(d*rain*N)}
Большое спасибо заранее.
Редактировать
Для уточнения я хочу, чтобы запустить модель со значением для N1 первого и сделать новый седловины с этим результатом в конце. Затем сделайте то же самое для значения N2 и так далее до конца N столбцов.
не совсем понятно, что вы после этого, но, возможно, вы хотите 'lapply (.sd, функция (х) {все, что должно быть сделано для каждого столбца}' – MichaelChirico
@ MichaelChirico Я отредактирую вопрос, чтобы быть более ясным. По сути, я хочу запустить модель для каждого значения N (1: 6) против значения дождя для строки и поместить вывод модели в конец таблицы данных. –