【发布时间】:2017-12-25 21:02:35
【问题描述】:
我有一个 365 天的数据集,其中分别包含一个温度值。 我想分析包含正温度的天数和包含负温度的周期。所以我想计算一个周期的天数,直到温度突破 0。我已经设置了一个跟踪代数符号的列,但是现在我想添加另一个列来跟踪正数天数和负数天数,这样我就可以按每个周期分组并计算消耗的平均值、最小值、最大值等。 我目前不确定如何在绘图中绘制结果,但也许你有一个想法..
Time Consumption STABW_hour Min Max mean DeltaDaymean Sign
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2014-01-01 1053.5 76.56046 964 1597.5 1159.804 -106.30411 -1
2 2014-01-02 1197.5 76.56046 964 1597.5 1159.804 37.69589 1
3 2014-01-03 1245.5 76.56046 964 1597.5 1159.804 85.69589 1
4 2014-01-04 1147.5 76.56046 964 1597.5 1159.804 -12.30411 -1
5 2014-01-05 1194.0 76.56046 964 1597.5 1159.804 34.19589 1
6 2014-01-06 1171.5 76.56046 964 1597.5 1159.804 11.69589 1
7 2014-01-07 1166.5 76.56046 964 1597.5 1159.804 6.69589 1
8 2014-01-08 1135.0 76.56046 964 1597.5 1159.804 -24.80411 -1
9 2014-01-09 1168.0 76.56046 964 1597.5 1159.804 8.19589 1
10 2014-01-10 1181.5 76.56046 964 1597.5 1159.804 21.69589 1
结果应该是这样的,然后我可以按新列分组数据..
Time Consumption STABW_hour Min Max mean DeltaDaymean Sign Period
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2014-01-01 1053.5 76.56046 964 1597.5 1159.804 -106.30411 -1 1
2 2014-01-02 1197.5 76.56046 964 1597.5 1159.804 37.69589 1 2
3 2014-01-03 1245.5 76.56046 964 1597.5 1159.804 85.69589 1 2
4 2014-01-04 1147.5 76.56046 964 1597.5 1159.804 -12.30411 -1 3
5 2014-01-05 1194.0 76.56046 964 1597.5 1159.804 34.19589 1 4
6 2014-01-06 1171.5 76.56046 964 1597.5 1159.804 11.69589 1 4
7 2014-01-07 1166.5 76.56046 964 1597.5 1159.804 6.69589 1 4
8 2014-01-08 1135.0 76.56046 964 1597.5 1159.804 -24.80411 -1 5
9 2014-01-09 1168.0 76.56046 964 1597.5 1159.804 8.19589 1 6
10 2014-01-10 1181.5 76.56046 964 1597.5 1159.804 21.69589 1 6
非常感谢!
【问题讨论】:
-
cumsum(c(TRUE, diff(DF$Sign)!=0)) -
谢谢。是的,它是重复的,但我不知道谷歌的正确温度,以便找到正确的解决方案。