r - 相同值的 geom_col() 和 geom_point() 之间的差异
问题描述
因此,我试图在此处绘制随时间推移的缺失值(纵向数据)。我更喜欢将它们放在 geom_col() 中,以便之后填充某些处理的颜色。但是由于一些奇怪的原因,geom_col() 给了我奇怪的值,而 geom_point() 使用相同的函数给了我正确的值。我试图弄清楚为什么会发生这种情况。看一下y轴。免责声明:
- 我知道缺失值会在第 19-20 天消失。这就是我制作剧情的原因。
- 对剧情的安排感到抱歉。还没打磨。
对于 geom_point:
gaussian_transformed %>% group_by(factor(time)) %>% mutate(missing = sum(is.na(Rose_width))) %>% ggplot(aes(x = factor(time), y = missing)) + geom_point()
图片:geom_point
对于 geom_col:
gaussian_transformed %>% group_by(factor(time)) %>% mutate(missing = sum(is.na(Rose_width))) %>% ggplot(aes(x = factor(time), y = missing)) + geom_col()
图片:geom_col
解决方案
问题是您正在mutate
为您的组使用和创建几行。你看不到这一点,但你的 geom_point 图中会有很多重叠的点。
一种方法是使用summarise
,或者使用distinct
Compare
library(tidyverse)
msleep %>% group_by(order) %>%
mutate(missing = sum(is.na(sleep_cycle))) %>%
ggplot(aes(x = order, y = missing)) +
geom_point()
这些点看起来很难看,因为有很多过度绘图。
msleep %>% group_by(order) %>%
mutate(missing = sum(is.na(sleep_cycle))) %>%
distinct(order, .keep_all = TRUE) %>%
ggplot(aes(x = order, y = missing)) +
geom_col()
msleep %>% group_by(order) %>%
mutate(missing = sum(is.na(sleep_cycle))) %>%
ggplot(aes(x = order, y = missing)) +
geom_col()
由reprex 包创建于 2021-06-02 (v2.0.0 )
推荐阅读
- xml - cvc-elt.1.a:找不到元素“ScrubAddress”的声明
- java - Android Studio中Java中的冗余字符串格式
- .net-core - 了解 Blazor 托管
- python - 如何合并两个用字符串填充的熊猫数据框?
- javascript - 获取 api 并传递
- mysql - 在 MySql 中表现为文本的长文本
- java - 如何访问另一个类中的特定枚举值?
- ios - 在 IOS 上的 Nativescript 中本地存储和加载图像时遇到问题
- c# - 在 VBA 中,C# dll 说没有入口点
- r - auto.arima() 似乎在给定相同数据的情况下选择不同的模型