r - 使用每个变量的最大值创建 ggplot2 图的 R 函数是什么?
问题描述
我可以在 R 中编写什么来为每天的病例总数(基本上每天绘制带星号的点)创建折线图可视化(使用 ggplot2)?
city | date | cases | cumulative cases (by date)
----------|-------|--------|------------------------
London | Day 1 | 4 | 4
Paris | Day 1 | 5 | 9
Madrid | Day 1 | 3 | 12 *
London | Day 2 | 6 | 6
Paris | Day 2 | 3 | 9
Madrid | Day 2 | 8 | 17 *
London | Day 3 | 9 | 9
Paris | Day 3 | 7 | 16
Madrid | Day 3 | 5 | 21 *
解决方案
尝试这种方法分组date
以获得最大值,然后绘制。这里使用tidyverse
函数的代码:
library(dplyr)
library(ggplot2)
#Code
df %>% group_by(date) %>%
filter(`cumulative cases`==max(`cumulative cases`,na.rm=T)) %>%
ggplot(aes(x=date,y=`cumulative cases`,group=1))+
geom_point(color='purple')+geom_line(color='purple')
输出:
或添加限制:
#Code 2
df %>% group_by(date) %>%
filter(`cumulative cases`==max(`cumulative cases`,na.rm=T)) %>%
ggplot(aes(x=date,y=`cumulative cases`,group=1))+
geom_point(color='purple')+geom_line(color='purple')+
scale_y_continuous(limits = c(0,21))
输出:
使用的一些数据:
#Data
df <- structure(list(city = c("London", "Paris", "Madrid", "London",
"Paris", "Madrid", "London", "Paris", "Madrid"), date = c("Day 1",
"Day 1", "Day 1", "Day 2", "Day 2", "Day 2", "Day 3", "Day 3",
"Day 3"), cases = c(4, 5, 3, 6, 3, 8, 9, 7, 5), `cumulative cases` = c(4,
9, 12, 6, 9, 17, 9, 16, 21)), row.names = c(NA, -9L), class = "data.frame")
推荐阅读
- javascript - 禁用表单提交按钮,直到填写所有输入/文本区域字段,而不使用 for 循环(无 jQuery)
- swiftui - SwiftUI:使用锚点调用 scrollTo 方法时崩溃:.center
- flutter - 如何理解页面已经在 Flutter 中看到
- docker - `docker build` 期间的“RTNETLINK 回答:不允许操作”
- java - java.nio.file.Files.delete(path) 方法在创建和使用文件后尝试删除文件时抛出 java.nio.file.FileSystemException
- azure-devops - 如果 Azure 经典发布管道阶段在之前的运行中已经成功,则不会在“阶段后”触发器上触发
- java - 从终端编译时,Maven 项目缺少包
- c# - 如何在每一行代码或类似的东西之后调用方法
- python - 我如何从用户输入中打印最大的数字(python)
- r - 每个组中出现的最高日期