У меня есть два листа Excel с климатическими данными: температура (dtT) и относительная влажность (dtR).Каждый кадр состоит из 39 строк (сайтов мониторинга) по 64 столбцам (61 день, пронумерованный от 121 до 181, «lat», «lon» и «county»).Оба листа в одном и том же порядке.Я хочу использовать эти два набора данных, чтобы рассчитать «тепловой индекс» для каждого сайта мониторинга каждый день, заполняя еще один кадр данных тех же размеров.
ПРОБЛЕМА: я пытаюсь использовать вложенный цикл, но все значения возвращаются в виде нулей.Может быть потому, что в столбце «county» содержатся слова, R читает все числа в виде символов и поэтому не может выполнять вычисления?(** Указанные столбцы могут показаться запутанными, но я ищу общую стратегию)
dtT <- read.csv("C:/Users/Desktop/Tavg3.csv")
dtR <- read.csv("C:/Users/Desktop/RHavg3.csv")
# Make a new data frame
hi = cbind(dtT, dtR)
# Add empty columns for heat index
hi[paste("hi",121:181,sep="")] = 0
# Loop to fill each hi cell using NOAA formula
for(i in 1:length(hi$lat)){
t <- hi[i, 3:63]
r <- hi[i, 64:124]
h <- hi[i, 125:185]
for(j in 1:length(t)){
h[i,j] = -42.379 + (2.04901523*t[j]) + (10.14333127*r[j]) - (0.22475541*t[j]*r[j]) -
((6.83783*10^-3)*(t[j]^2)) - ((5.481717*10^-2)*(r[j]^2) ) + ((1.22874*10^3) - (t[j]^2)*r[j]) + ((8.5282*10^-4)*t[j]*(r[j]^2)) - ((1.99*10^-6)*(t[j]^2)*(r[j]^2))
}
}
hi[1:10, 130:140]
hi = hi[,c(1:2, 125:185]