R Фильтр и подмножество данных - PullRequest
0 голосов
/ 30 августа 2011

Пожалуйста, дайте мне несколько советов о следующем.

Существует фрейм данных с тремя столбцами, первый из которых представляет собой дату и время (с точностью до секунды), второй - имя человека, а третий - сообщение.

Я хочу получить следующую информацию и построить ее.

  1. сообщений на человека в течение определенной минуты.
  2. Сообщения определенного человека в течение определенной минуты.

Заранее спасибо.

1 Ответ

4 голосов
/ 30 августа 2011

Существует множество различных форматов даты в R. Если у вас нет предпочтений для одного из них, используйте пакет lubridate.

library(lubridate)

Некоторые примеры данных:

the_present <- now()
dfr <- data.frame(
  person  = rep(c("Richie", "user900168"), each = 3),
  time    = seq(the_present, by = "-1 min", length.out = 6),
  message = letters[1:6]
)

Выберите интересную минуту:

start_time <- floor_date(the_present, unit = "min")
end_time <- ceiling_date(the_present, unit = "min")

Используйте subset и table для решения ваших проблем.

table(subset(dfr, time > start_time & time <= end_time, person))
subset(dfr, person == "Richie" & time > start_time & time <= end_time)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...