Как выбрать каждую вторую строку с определенной датой в R - PullRequest
0 голосов
/ 27 июня 2018

У меня есть набор данных, содержащий ежедневные расписания Трампа как символьный вектор вместе с вектором даты. Однако в некоторые дни есть несколько графиков.

Я хочу объединить все расписания для каждой отдельной даты в одно расписание для каждой даты. Как я могу это сделать?

Пример с крошечным набором данных:

chr <- c("please", "help", "me", "god")
date <- c("2018-06-26, "2018-06-26", "2018-06-27", "2018-06-28)
my_current_df <- data.frame(chr,date)

intended_vector <- c("please help", "me", "god")
intended_df <- data.frame(intended_vector,date)

РЕДАКТИРОВАТЬ: Проблема решена! Спасибо за тонну!

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Другой вариант использует dplyr:

chr <- c("please", "help", "me", "god") 
date <- c("2018-06-26", "2018-06-26", "2018-06-27", "2018-06-28")
df <- data.frame(chr, date)
library(dplyr)
df %>% group_by(date) %>%
  summarize(chr = trimws(paste0(chr, " ", collapse = '')))

Возвращает желаемый результат:

# A tibble: 3 x 2
  date       chr        
  <fct>      <chr>      
1 2018-06-26 please help
2 2018-06-27 me         
3 2018-06-28 god  
0 голосов
/ 27 июня 2018

Мы можем попробовать использовать aggregate для базовой опции R:

chr <- c("please", "help", "me", "god")
date <- c("2018-06-26", "2018-06-26", "2018-06-27", "2018-06-28")
df <- data.frame(chr, date)

aggregate(data=df, chr~date, FUN = function(t) paste(t))

        date          chr
1 2018-06-26 please, help
2 2018-06-27           me
3 2018-06-28          god

Демо

...