Как лучше всего обобщить следующую таблицу данных кадра в R? - PullRequest
0 голосов
/ 24 октября 2018

Как лучше всего суммировать следующий кадр данных таблицы в R?

Driver_ID <- c('AB1','AB1')

Date_today<- as.Date(c('2018-10-24','2018-10-24'))

Motor_Vehicle_Brand <- c('Toyota','VW')

Type_of_vehicle <- c('Corrola','Golf 5')

Country <- c('USA','USA')

Speed <- as.numeric(c('300','400'))

Number_of_brands_drived <- as.numeric(c('1','1'))

car.data <- data.frame(Driver_ID, Date_today,       Motor_Vehicle_Brand,Type_of_vehicle,Country,Speed,Number_of_brands_driven)

Показать

Driver_ID <- 'AB1'
Date_today<- as.Date('2018-10-24')
Motor_Vehicle_Brand <- c('Toyota VW')

Type_of_vehicle <- 'Corrola Golf 5'

Country <- 'USA'

Speed <- as.numeric('700')

Number_of_brands_drived <- as.numeric('2')

car.data <- data.frame(Driver_ID, Date_today,       Motor_Vehicle_Brand,Type_of_vehicle,Country,Speed,Number_of_brands_driven)

Я пробовал следующий код, однако он не может сгруппировать так, как я хочу,

df %>% 
  group_by(DRIVER_ID, Country) %>% 
  mutate(Highest_speed = sum(Highest speed driven), 
         Number_of_brands_driven = sum(Number_of_brands_drived))

это однакодает мне несгруппированные данные, которые похожи на несуммированные данные.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 24 октября 2018

Как я уже писал в комментарии, вам нужно использовать summarise

library(dplyr)
car.data %>% 
  group_by(Driver_ID, Country) %>% 
  summarise(Highest_speed = sum(Speed),
            Number_of_brands_driven = sum(Number_of_brands_drived))

# A tibble: 1 x 4
# Groups:   Driver_ID [?]
  Driver_ID Country Highest_speed Number_of_brands_driven
  <fct>     <fct>           <dbl>                   <dbl>
1 AB1       USA               700                       2

edit: добавлен Motor_Vehicle_Brand в резюме.

Чтобы добавить бренд в резюме без создания двойных записейэто вставить записи вместе.

car.data %>%
  group_by(Driver_ID, Country) %>%
  summarise(Highest_speed = sum(Speed),
            Number_of_brands_driven = sum(Number_of_brands_driven),
            brands = paste(Motor_Vehicle_Brand, collapse = ", "))
# A tibble: 1 x 5
# Groups:   Driver_ID [?]
  Driver_ID Country Highest_speed Number_of_brands_driven brands    
  <fct>     <fct>           <dbl>                   <dbl> <chr>     
1 AB1       USA               700                       2 Toyota, VW
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...