我有一个传感器,可以测量一些事件(2个或更多类别+它们之间的白噪声)。 我想一个窗口添加到我的数据,每个窗口根据一些规则对事件的比例进行分类:dplyr:每班最常见的班+条件,不总结
- 如果超过90%的白噪声窗口=>所有行必须标记白噪声
- 如果低于90%的白噪声,在窗口
最有代表性的事件代码,我发现创建我窗口的方式(但如果你有更好的方法我很感兴趣这是不是很优雅) 我不知道如何应用规则并在初始数据中标记行。框架 N ote:我不想“汇总”我的数据,只需在每个窗口中添加一个重复的标签即可。 在该例子中我的期望的输出是添加标签“事件1”的所有窗口1周& 2的观察,“事件2”为窗口3,而“白噪声”为窗口4等
df = data.frame(value=c(1,1,1,2,2,1,2,1,3,2,3,6,7,8,4,2,1,1,1,2,1,1,2,1,3,3,1,5,8,9,9,8,
1,-4,-5,-7,-9,-3,-2,-1,1,1,1,1,1,2,1,1,1,2,1,1,1,2,2,1,2,3,5,7,7,7,6,2))
df$class="white.noise"; df$class[df$value<1]<-"event2"; df$class[df$value>2]<-"event1"
# first create a window
window.size=13
df2 = df %>% mutate('window' = rep(1:100, each=window.size)[1:nrow(df)])
# compute frequencies per window
df2 %>% group_by(window, class) %>% tally %>% mutate(n=n/window.size*100)
感谢您的回答很好,并且很抱歉地延迟回复;它按我的预期工作。 – agenis