我使用模型來查看作物區域的溫室氣體排放量。爲了測試數據的標準偏差,我試圖通過多次迭代對它進行蒙特卡羅風格分析。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,函數(X){任何需要做的事情,以每列}' – MichaelChirico
@ MichaelChirico我將編輯問題得到更清楚的說明,本質上我想針對每行的N(1:6)值對該行的降雨值運行模型,並將模型輸出放在數據表的末尾 –