繁体   English   中英

R - group_by 条件的特定值

[英]R - group_by specific values for a condition

我想使用 group_by 函数随机采样具有多种条件的数据集:

output<-files %>% group_by(location, time) %>% sample_n(3)

但是,有没有办法在每个条件中指定要采样的内容? 例如这样的事情:

output<-files %>% group_by(location(c[1:2]), time(c[00:00:00-01:00:00])) %>% sample_n(3)

所以原始数据框:

Location    Time
1           00:00:00
1           00:02:22
1           00:04:12
1           00:30:00
1           01:00:00
1           01:27:00
1           02:00:00
1           03:00:00
1           03:31:00
2           00:00:00
2           00:03:33
2           00:04:44
2           01:00:00
2           02:00:00
2           03:00:00
3           00:00:00
3           01:00:00
3           02:00:00
3           03:00:00

可能看起来像这样(为简单起见,数据框有限):

Location    Time
1           00:00:00
1           00:02:22
1           01:00:00           
2           00:00:00
2           00:03:33
2           00:04:44 

也许这会有所帮助

library(chron)
library(dplyr)
df1 %>% 
    filter(times(Time)  >= times('00:00:00') & times(Time) <= times('01:00:00')) %>%
    #or use between
    #filter(between(times(Time), times('00:00:00'), times('01:00:00'))) %>%  
    group_by(Location) %>%
    filter(n() >=3) %>%
    sample_n(3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM