我的数据集是:
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)
我想选择具有坐标(时间,fx)的点, 匹配到第一个时间点,最后一个时间点, 最小点(Fx)和一半点 间隔点
(( ( time[[min(fx)]] - time[[1]]/2)+ time [[1]])
和
(time[[length(time)]]-time[[min(fx)]]/2)+time[[min(fx)]]))
有办法吗?
答案 0 :(得分:0)
您需要使用filter
,而不是select
(您希望减少行数,而不是列数)。然后,您希望根据多个条件进行过滤,因此请使用逻辑or
运算符|
。最后,为了帮助dplyr,在执行min()
参数时,请包含完整的数据帧名称。这应该让你开始:
mydata %>% filter(time == min(mydata$time)|
time == max(mydata$time)|
fx==min(mydata$fx))
我没有添加其他两个间隔,因为我不完全确定你想要什么,但也许这对你有用吗?