从数据框中选择特定值

时间:2018-11-09 15:51:35

标签: r dataframe time posixct

我想从数据框中选择一个特定的值,但不知道怎么做。这是数据框:

picture of data frame

我想从“ X1”列中选择一个特定值,但是我不想通过索引(1到10)来访问它,而是要使用“时间”列。

如果我想通过索引从第8行(0.89)中选择值X1,我可以这样做:

df[8,"X1"]

但是我想通过日期和时间访问值。我还没有找到解决方案。时间列基本上是将X和X.1列合并为一个具有POSIXct格式(%Y-%m-%d%H:%M:%S)的单独列。

类似的东西(但不能那样工作):

df[df$time[2018-08-10 13:29:20], "X1"]

如果有任何想法,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

这很容易。 您只需要进行类似的比较

 df[df$time == "2018-08-10 13:29:20", "X1"]

如果您希望“ X1”的所有值都大于特定时间,则可以使用更大或更小的比较,例如

 df[df$time > "2018-08-10 13:29:20", "X1"]    
 df[df$time >= "2018-08-10 13:29:20", "X1"]    
 df[df$time < "2018-08-10 13:29:20", "X1"]    
 df[df$time <= "2018-08-10 13:29:20", "X1"]    

比较将创建一个逻辑向量,该逻辑向量为您提供逻辑向量为TRUE的所有行

如果它不能正常工作,则必须确保时间列采用POSIXct之类的正确格式。您可以使用as.POSIXct