R 如何循环使用日期变量名和按组求和?

R 如何循环使用日期变量名和按组求和?,r,dplyr,R,Dplyr,我有一些时间序列数据,其中有几个区域变量,其余的变量名都是日期。我试图循环遍历整个日期变量列表并对每个变量求和,但不确定如何使用dplyr语法。这就是我目前所拥有的 library(dplyr) library(lubridate) library(data.table) library(curl) # county level covid_jhu <- as.data.frame(fread(paste0("https://raw.githubusercontent.com/CSSEG

我有一些时间序列数据,其中有几个区域变量,其余的变量名都是日期。我试图循环遍历整个日期变量列表并对每个变量求和,但不确定如何使用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`))

我似乎无法理解这里的循环,即使我似乎能够为1个变量找到正确的循环。

这里是执行所需分组的潜在方法。关键是转换源中的宽数据帧并将其转换为长格式

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))

如果您想尝试以下功能,建议

一组一组, group_by_这将变量名作为输入,而不是硬编码列名,本质上,您可以在循环中继续将列名作为输入传递 类似地,您还将拥有mutate_uu、summary_u函数
根据我对这个问题的理解,我认为稍微阅读一下这篇文章就可以解决你的问题_jhu@ANam,因为我使用read.csv来读取和检索文件,从而避免了加载data.table包,所以标题从日期转换为字符串,以XAhh开头,这很有意义。我只是在12:lengthnescovid_jhu{namescovid_jhu[I]中使用了I,或者你可以在cols=12:lengthnescovid_jhu中替换