这不是一个关于曲线拟合的问题。相反,我拥有的是60个不同站点的集合,从中我可以收集最高、最低和平均温度。我需要能够使用这些数据来计算光伏电池的工作温度;然而,对于平均温度,这样做没有意义,因为它包括日落后的值。相反,我首先创建一个“伪”平均温度(这是我们的“伪平均”,totalityoftemperatures_fakemeans),它是最高和最低温度的平均值。在这一点上,我通过减去一个标准差来计算调整后的最低温度(假设6* sd = max - min),最后计算出“调整后”的平均温度,这是新的最低温度(伪均值-1* sd)和预先存在的最高温度(所以这是我们的“调整后的平均值”)的平均值。
真正困扰我的是,这个重新计算的平均值应该高于“假”平均值;毕竟,它是调整后的最小值和原始最大值的平均值。我可能还会将其交叉发布到统计堆栈交换或其他地方,但我非常确定这现在是一个编码问题。有没有人可以用R看一下下面的代码?
#The first data sets of maxima and minima are taken from empirical data
for(i in 1:nrow(totalityofsites))
{
for(j in 1:12)
{
totalityoftemperatures_fakemeans[i,j] = mean(totalityoftemperatures_maxima[i,j], totalityoftemperatures_minima[i,j])
}
}
totality_onesigmaDF = abs((1/6)*(totalityoftemperatures_maxima - totalityoftemperatures_minima))
totalityoftemperatures_adjustedminima = totalityoftemperatures_fakemeans - totality_onesigmaDF
for(i in 1:nrow(totalityofsites))
{
for(j in 1:12)
{
totalityoftemperatures_adjustedmeans[i,j] = mean(totalityoftemperatures_adjustedminima[i,j], totalityoftemperatures_maxima[i,j])
}
}
#The second calculation of the average should be higher than "fake" but that is not the case发布于 2020-01-22 21:42:45
我认为您的问题出在mean函数的使用上。执行此操作时:
mean(totalityoftemperatures_adjustedminima[i,j], totalityoftemperatures_maxima[i,j])您正在使用两个参数调用mean。该函数只有一个参数,即一个数字向量。如果你给它提供两个数字,它将忽略第二个数字。看:
mean(2, 100)
#[1] 2然而,如果将这些值连接到一个向量中,就会得到正确的答案:
mean(c(2, 100))
#[1] 51所以你需要改变
mean(totalityoftemperatures_maxima[i,j], totalityoftemperatures_minima[i,j])至
mean(c(totalityoftemperatures_maxima[i,j], totalityoftemperatures_minima[i,j]))和
mean(totalityoftemperatures_adjustedminima[i,j], totalityoftemperatures_maxima[i,j])至
mean(c(totalityoftemperatures_adjustedminima[i,j], totalityoftemperatures_maxima[i,j]))https://stackoverflow.com/questions/59860843
复制相似问题