Я хочу сохранить результаты процесса в цикле, но оказывается, что сохраненные данные являются только первыми обработанными данными.
k=1
l=1
E <- c()
sigma_es <- c()
while (k <= 170) {
Es <- c()
while(l <= 720){
E <- (obs[[1]][l]-tab[[1]][2*k-1]-(tab[[1]][2*k]*era5[l,k]))^2
Es <- c(Es,E)
hold <- sum(Es)
print(paste("l= ",l,"dan k= ",k," akumulasi error=",hold))
l=l+1
}
sigma_es <- c(sigma_es,hold)
k=k+1
}
Я пытался использовать фреймы данных и матрицу, но результаты все еще не могут сохранить все результаты. Пожалуйста, помогите мне решить эту проблему
вот пример данных, которые я использую:
данные obs
structure(list(Temp = c(20.6, 23.2, 25, 27.4, 28.8, 29.2, 30,
29.4, 29.4, 29.2, 28, 26.6, 26.2, 20, 22.4, 25.2, 27, 29, 29.6,
29.4)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-20L))
данные вкладки
structure(list(Estimate = c(21.8622017063543, 0.149905976990255,
21.8792372021679, 0.149106548969244, 22.483179270103, 0.125959278859866,
23.0223290054929, 0.105312788847492, 22.7764521125954, 0.114936945277311
), `Std. Error` = c(2.37994644400538, 0.0916220989468571, 2.63859044098663,
0.101496001085481, 2.67417945176719, 0.102946780235079, 2.71999289764186,
0.104833205410304, 2.8011149786195, 0.108097071239478), `t value` = c(9.1860057445498,
1.63613340791509, 8.29201715518484, 1.46908791848523, 8.40750580715343,
1.22353781800886, 8.46411364730125, 1.00457472835359, 8.13120928146282,
1.06327529469027), `Pr(>|t|)` = c(4.30028996897647e-19, 0.102249907076108,
5.47881708292241e-16, 0.142246934658274, 2.2472335679596e-16,
0.221528011106171, 1.44672121858366e-16, 0.315440097658094, 1.86410772248374e-15,
0.288014595967456)), row.names = c("(Intercept)", "2 _uji", "(Intercept)1",
"3 _uji", "(Intercept)2", "4 _uji", "(Intercept)3", "5 _uji",
"(Intercept)4", "6 _uji"), class = "data.frame")
данные эры5
structure(c(25.5656043, 25.69174497, 26.19046783, 26.95023182,
27.60604654, 28.1500282, 28.39544774, 28.46275197, 28.1386405,
28.0857899, 26.1006802, 26.24988827, 26.53224483, 26.87635776,
27.19273143, 27.47435801, 27.64108561, 27.74561886, 27.75525461,
27.81204711, 26.58786936, 26.68043093, 26.81343342, 26.98147499,
27.12002534, 27.27697121, 27.40281989, 27.51976281, 27.66225506,
27.76474436), .Dim = c(10L, 3L), .Dimnames = list(c("1", "2",
"3", "4", "5", "6", "7", "8", "9", "10"), NULL))
и вот я получил вывод:
c(4385.62165935493, 4385.62165935493, 4385.62165935493, 4385.62165935493,
4385.62165935493, 4385.62165935493, 4385.62165935493, 4385.62165935493,
4385.62165935493, 4385.62165935493)
но я хочу получить вывод, подобный этому:
c(4385.621659, 4388.780521, 4392.813546
)