我有生成器的每小时值(1)或全年不起作用(0)。如果我知道一小时的发电量是40GW,我现在需要计算发电量。所以总结发电机开启时的所有时间,并减去时间的小时数并将结果乘以40.我只是不知道R中是否有任何功能可以快速完成。
ccmix
[,1] [,2]
[1,] 1272.819 1
[2,] 1289.226 0
[3,] 5308.784 1
[4,] 5338.036 0
[5,] 5797.671 1
[6,] 5859.749 0
[7,] 8760.000 1
答案 0 :(得分:1)
第二列是二进制。因此,一种方法是将其更改为逻辑向量,将对应于“ON”和“OFF”(即1和0)的值进行子集化,得到两者的sum
的差值并乘以40。 / p>
40*(sum(ccmix[,1][!!ccmix[,2]]) - sum(ccmix[,1][!ccmix[,2]]))
否定函数(!
)将0转换为TRUE,将1转换为FALSE。如果我们执行双重否定(!!
),则1变为TRUE,0变为FALSE。我们可以用as.logical
换行,将1转换为TRUE,0转换为FALSE,而不是否定。