我对 R 比较陌生,并且在过去 5 年中分析了几座建筑物的能源数据。我正在尝试根据每座建筑物的温度建立一个用电量模型。我还想找到每个建筑物中打开电制冷时的变化点温度。五年的每小时积分看起来像:()
这是我的数据的样本头(test1)
Date Hour Temp Bldg1_elect Bldg2_elect Bldg3_elect Bldg4_elect Bldg5_elect
1 2017 年 1 月 1 日 0 39.00000 190 173.167 245.50 239.0 335.700 2 1/1/2017 1 37.50000 188 172.880 245.25 241.0 333.600 3 1/1/2017 2 34.00000 186 172.703 244.75 238.5 340.900 4 1/1/2017 3 33.00000 187 172.777 248.25 242.5 334.638 5 1/1/2017 4 30.33333 187 173.112 253.00 254.5 338.362 6 1/1/2017 5 31.00000 190 176.044 253.75 283.5 335.263
#为每个建筑物创建一个 lm 列表。 选举模型<- lapply(3:8, function(x) lm(test1[,x]~Temp, data=test1))
#尝试使用分段包找到变化点温度。 Elect_cp <- lapply(1:5, function(x) segmented(Elect_model[[x]], seg.Z=~Temp))
但是它给出了错误: model.frame.default(formula = test1[, x] ~ Temp + test1, data = test1, 错误: 变量“test1”的无效类型(列表)
Segmented 通常需要一个 lm 列表,我不能让它在列表列表中循环吗?