Как свернуть несколько переменных по столбцу в CSV-файле с R - PullRequest
0 голосов
/ 18 февраля 2020

Я написал код, чтобы свернуть мою таблицу, и он работает, однако всякий раз, когда я пишу в новый CSV, таблица, кажется, не находится в свернутом состоянии. Возможно, это связано с функцией суммирования, которую я использую? Я сворачиваю переменные d1, d2, d3 для region_ID. Есть ли способ для меня собрать все 3 переменные вместе и сохранить в новый CSV?

#Collapse the bsu_re_dec.csv table

HI_csv<- read.csv("C:\\filepath\\bsu_re_dec.csv")

HI_csv %>%
group_by(region_ID) %>%
summarize(sum(d1))

HI_csv %>%
group_by(region_ID) %>%
summarize(sum(d2))

HI_csv %>%
group_by(region_ID) %>%    
summarize(sum(d3))

1 Ответ

0 голосов
/ 18 февраля 2020

Мы можем использовать summarise_at для суммирования нескольких переменных

library(dplyr)
HI_csv %>%
     group_by(region_ID) %>%
     summarise_at(vars(matches('^d\\d+$')), sum)

В версии dplyr для разработчиков другой вариант - across с `суммированием

HI_csv %>%
     group_by(region_ID) %>%
     summarise(across(matches('^d\\d+'), sum))

Или с воспроизводимым примером

iris %>% 
    group_by(Species) %>%
    summarise(across(everything(), sum))
# A tibble: 3 x 5
#  Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
#  <fct>             <dbl>       <dbl>        <dbl>       <dbl>
#1 setosa             250.        171.         73.1        12.3
#2 versicolor         297.        138.        213          66.3
#3 virginica          329.        149.        278.        101. 
...