Как l oop через имена переменных даты и сумма по группам? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть данные временных рядов, в которых есть несколько переменных региона, а остальные имена переменных - даты. Я пытаюсь провести l oop через весь список переменных даты и суммировать каждую из них, но не уверен, как это сделать, используя синтаксис dplyr. Это то, что у меня есть до сих пор

library(dplyr)
library(lubridate)
library(data.table)
library(curl)

# county level
covid_jhu <- as.data.frame(fread(paste0("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv")))

# remove territories and assign the correct FIPS code
covid_jhu <- covid_jhu %>%
  filter(Admin2 != "") %>%
  mutate(FIPS = substr(as.character(UID), 4, 8))

jhu_state <- covid_jhu %>%
  group_by(Province_State) %>%
  mutate(`1/22/20` = sum(`1/22/20`))

Я не могу понять, что здесь l oop, хотя мне кажется, что я могу сделать это правильно для 1 переменной.

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Вот потенциальный метод для выполнения желаемой группировки. Ключ - преобразовать широкий фрейм данных из источника и преобразовать его в длинный формат.

library(dplyr)
library(tidyr)


# county level
covid_jhu <- read.csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv")

# remove territories and assign the correct FIPS code
covid_jhu <- covid_jhu %>%
  filter(Admin2 != "") %>%
  mutate(FIPS = substr(as.character(UID), 4, 8))

#convert from wide to long
long_covid_jhu<-pivot_longer(covid_jhu, cols=starts_with("X"), names_to = "Date")
long_covid_jhu$Date <- as.Date(long_covid_jhu$Date, format="X%m.%d.%y")


#grouping by state
long_covid_jhu %>%
  group_by(Province_State) %>% summarize(TotalCases=sum(value))

#grouping by date
long_covid_jhu %>%
  group_by(Date) %>% summarize(TotalCases=sum(value))

#grouping by state & date
long_covid_jhu %>%
  group_by(Province_State, Date) %>% summarize(TotalCases=sum(value))
0 голосов
/ 15 апреля 2020

Предложите, если вы хотите попробовать такие функции, как

  • group_by_all ,
  • group_by_ (для этого вместо имени берется имя переменной чем жесткое кодирование имени столбца, в сущности, вы можете передавать имена столбцов в качестве входных данных в al oop)
  • Аналогично, у вас будут mutate_ , summarise_ функции а также

С моим пониманием вопроса, я думаю, что чтение немного об этом решает вашу цель

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...