我从设备的运行记录器接收的样本数据
df1 <- read.table(text = "temp.1
heating
heating
heating
heating
heating
heating
heating
heating
cooling
heating
heating
heating
heating
heating
heating
cooling
cooling
cooling
cooling
cooling
cooling
cooling
heating
heating
heating
cooling
cooling
heating
heating
heating
cooling
heating
heating
heating
heating
cooling
cooling
cooling
cooling
heating
heating
heating
cooling
heating
cooling
heating
cooling
heating
heating
heating
heating", header = TRUE)
偶尔,在"加热"过程中会出现一次(最多两次)"降温"观测.这是一个错误,我希望忽略这些值.我想在这样的修正之后给占空比做个记号.标记还应包含一个序列号--需要关于某一天发生多少次加热和冷却循环的信息 预期结果:
> df1
temp.1 level
1 heating H.1
2 heating H.1
3 heating H.1
4 heating H.1
5 heating H.1
6 heating H.1
7 heating H.1
8 heating H.1
9 cooling H.1
10 heating H.1
11 heating H.1
12 heating H.1
13 heating H.1
14 heating H.1
15 heating H.1
16 cooling C.1
17 cooling C.1
18 cooling C.1
19 cooling C.1
20 cooling C.1
21 cooling C.1
22 cooling C.1
23 heating H.2
24 heating H.2
25 heating H.2
26 cooling H.2
27 cooling H.2
28 heating H.2
29 heating H.2
30 heating H.2
31 cooling H.2
32 heating H.2
33 heating H.2
34 heating H.2
35 heating H.2
36 cooling C.2
37 cooling C.2
38 cooling C.2
39 cooling C.2
40 heating H.3
41 heating H.3
42 heating H.3
43 cooling H.3
44 heating H.3
45 cooling H.3
46 heating H.3
47 cooling H.3
48 heating H.3
49 heating H.3
50 heating H.3
51 heating H.3
EDIT2: 还有一个我没有预料到的 case ,我的问题也不准确.请看第51-53节.当一个"冷"系列被一次"加热"打断时,它也应该被忽略. 我试图修改您的解决方案,但没有成功
df1
temp.1 level
1: heating H.1
2: heating H.1
3: heating H.1
4: heating H.1
5: heating H.1
6: heating H.1
7: heating H.1
8: heating H.1
9: cooling H.1
10: heating H.1
11: heating H.1
12: heating H.1
13: heating H.1
14: heating H.1
15: heating H.1
16: cooling C.1
17: cooling C.1
18: cooling C.1
19: cooling C.1
20: cooling C.1
21: cooling C.1
22: cooling C.1
23: heating H.2
24: heating H.2
25: heating H.2
26: cooling H.2
27: cooling H.2
28: heating H.2
29: heating H.2
30: heating H.2
31: cooling H.2
32: heating H.2
33: heating H.2
34: heating H.2
35: heating H.2
36: cooling C.2
37: cooling C.2
38: cooling C.2
39: cooling C.2
40: heating H.3
41: heating H.3
42: heating H.3
43: cooling H.3
44: heating H.3
45: cooling H.3
46: heating H.3
47: cooling C.3
48: cooling C.3
49: cooling C.3
50: cooling C.3
51: cooling C.3
52: heating C.3
53: cooling C.3
54: cooling C.3
55: cooling C.3
56: heating H.4
57: heating H.4
58: heating H.4
"加热"3次后出现"冷却",或"冷却"3次后出现"加热",将类别改为"水平".因此,第26-27行被认为是错误的,第23-25行被认为改变了"级别".