首页 > 解决方案 > 汇总/分组表中的唯一行

问题描述

已编辑:正如@Ben 所建议的,我已经更改了代码,但出现了错误。我需要将其转换为如下格式:

确认日期_cum

2020 年 1 月 25 日 4 2020 年 1 月 26 日 4

任何人都可以帮忙吗?

covid <- read.csv(file = 'covid_au_state.csv')
dput(covid)
library(lubridate)
library(dplyr)
library(ggplot2)
covid %>%
  mutate(date = dmy(date)) %>% 
  group_by(date) %>%       
  summarize(confirmed_cum = sum(confirmed_cum)) %>% 
  ggplot(aes(x =confirmed_cum , y = date)) +
  geom_point(aes(color = confirmed)) + 
  labs(x = 'Confirmed cases', y = 'date', 
       title = 'Number of new confirmed cases daily throughout Australia')

控制台输出

covid <- read.csv(file = 'covid_au_state.csv')
dput(covid)
library(lubridate)
library(ggplot2)
covid %>%
 mutate(date = dmy(date)) %>% 
 group_by(date) %>%        
 summarize(confirmed_cum = sum(confirmed_cum)) %>% 
 ggplot(aes(x =confirmed_cum , y = date)) + geom_point(aes(color = confirmed)) + 
 labs(x = 'Confirmed cases', y = 'date', title = 'Number of new confirmed cases 
 daily throughout Australia')
`summarise()` ungrouping output (override with `.groups` argument)
Error in FUN(X[[i]], ...) : object 'confirmed' not found

标签: r

解决方案


听起来您想计算confirmed_cum每个 dat 的总和然后绘制它。如果没有您的数据,很难确定这是否可行,但这里有一些可能可行的方法。它需要lubridatedplyr包。

library(lubridate)
library(dplyr)
covid %>%
  mutate(date = dmy(date)) # makes dates both pretty and functional
  group_by(date) %>%       # groups data by each date
  summarize(confirmed_cum = sum(confirmed_cum)) # sum this column by date

此代码返回一个新的 data.frame,每个日期一行以及该日期的总数confirmed_cum。要绘制它ggplot

library(ggplot2)
covid %>%
  mutate(date = dmy(date)) %>% 
  group_by(date) %>%       
  summarize(confirmed_cum = sum(confirmed_cum)) %>% 
  ggplot(aes(x =confirmed_cum , y = date)) +
  geom_point(aes(color = confirmed_cum)) + 
  labs(x = 'Confirmed cases', y = 'date', 
       title = 'Number of new confirmed cases daily throughout Australia')

推荐阅读