Выберите конкретное значение из фрейма данных - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу выбрать конкретное значение из фрейма данных и не могу понять, как.Вот кадр данных:

изображение кадра данных

Я хочу выбрать конкретное значение из столбца «X1», но не хочу к нему обращатьсячерез индекс (от 1 до 10), но с помощью столбца «время».

Если бы я хотел выбрать значение X1 из строки 8 (0,89) через индекс, я мог бы сделать это:

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 голосов
/ 09 ноября 2018

Это очень просто. Вы просто должны сделать сравнение, как

 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

...