如何用特定的坐标选择一些点?

时间:2016-10-25 13:48:58

标签: r dataframe

我的数据集是:

 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)]]))

有办法吗?

1 个答案:

答案 0 :(得分:0)

您需要使用filter,而不是select(您希望减少行数,而不是列数)。然后,您希望根据多个条件进行过滤,因此请使用逻辑or运算符|。最后,为了帮助dplyr,在执行min()参数时,请包含完整的数据帧名称。这应该让你开始:

mydata %>% filter(time == min(mydata$time)| time == max(mydata$time)| fx==min(mydata$fx))

我没有添加其他两个间隔,因为我不完全确定你想要什么,但也许这对你有用吗?