我的数据集是:
mydata <- data.frame(
x1= as.factor(1:3),
x2= as.factor (4:6),
x3= as.factor(7:9),
x4= as.factor (2:7),
x5= as.factor(1:6),
fx= seq(0,600,len= 600),
time= seq(0,1,len=600)
)%>%
group_by(x1, x2, x3, x4,x5)
我想选择具有坐标(time,fx)的点,这些点与第一个时间点,最后一个时间点,存在min(Fx)的点以及间隔点的一半匹配
(( ( time[[min(fx)]] - time[[1]]/2)+ time [[1]])
和
(time[[length(time)]]-time[[min(fx)]]/2)+time[[min(fx)]]))
有办法吗?
您需要使用filter
,而不是select
(您要减少行,而不是列)。然后,您要基于多个条件进行过滤,因此请使用逻辑or
运算符|
。最后,为帮助dplyr,在执行min()
参数时,请包括完整的数据框名称。这应该使您开始:
mydata %>% filter(time == min(mydata$time)| time == max(mydata$time)| fx==min(mydata$fx))
我没有添加其他两个时间间隔,因为我不确定您想要什么,但是也许这应该对您有足够的帮助?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句