Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 相同值的geom_col()和geom_point()之间的差异_R_Ggplot2_Dplyr_Missing Data - Fatal编程技术网

R 相同值的geom_col()和geom_point()之间的差异

R 相同值的geom_col()和geom_point()之间的差异,r,ggplot2,dplyr,missing-data,R,Ggplot2,Dplyr,Missing Data,所以,我试图绘制随时间变化的缺失值(纵向数据)。 我更喜欢把它们放在geom_col()中,然后用特定处理的颜色填充。但是出于某种奇怪的原因,geom_col()给了我奇怪的值,而geom_point()使用相同的函数给了我正确的值。我在想为什么会发生这种事。看看y轴。 免责声明: 我知道缺失值会在第19-20天出现。这就是为什么我要做这个阴谋 对不起,情节的安排。还没有擦亮 对于geom_点: gaussian_transformed %>% group_by(factor(time

所以,我试图绘制随时间变化的缺失值(纵向数据)。 我更喜欢把它们放在geom_col()中,然后用特定处理的颜色填充。但是出于某种奇怪的原因,geom_col()给了我奇怪的值,而geom_point()使用相同的函数给了我正确的值。我在想为什么会发生这种事。看看y轴。 免责声明:

  • 我知道缺失值会在第19-20天出现。这就是为什么我要做这个阴谋
  • 对不起,情节的安排。还没有擦亮
对于geom_点:

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

所以在挖掘之后:

结果是geom_col()函数将所有缺少的值相加,而geom_point()则不会。因此y的值很大。我不知道为什么会这样。但是,做以下工作对我来说很好:

gaussian_transformed$time <- as.factor(gaussian_transformed$time)
gaussian_transformed %>% group_by(time) %>% summarise(missing = sum(is.na(Rose_width))) -> gaussian_transformed
gaussian_transformed %>% ggplot(aes(x = time, y = missing)) + geom_col(fill = "blue", alpha = 0.5) + theme_minimal() + labs(title = "Missing values in Gaussian Outcome over the days", x = "Time (in days)", y = "Amount of missing values") + scale_y_continuous(breaks = seq(0, 10, 1))
gaussian\u转换$time%group\u by(time)%>%summary(missing=sum(is.na(Rose\u width))->gaussian\u转换
高斯变换%>%ggplot(aes(x=时间,y=缺失))+geom\u col(fill=“blue”,alpha=0.5)+主题最小值()+labs(title=“天数内高斯结果中的缺失值”,x=“时间(天数)”,y=“缺失值的数量”)+连续缩放(中断=seq(0,10,1))

对于绘图:

问题是您正在使用
mutate
并为组创建多行。你看不到这一点,但在你的几何点图中会有很多点重叠

一种方法是使用
摘要
,或者使用
不同的
比较

库(tidyverse)
msleep%%>%分组依据(订单)%%>%
突变(缺失=总和(is.na(睡眠周期))%>%
ggplot(aes(x=顺序,y=缺失))+
几何点()
这些点看起来很难看,因为有很多过度绘制。

msleep%>%分组依据(订单)%>%
突变(缺失=总和(is.na(睡眠周期))%>%
不同(顺序,.keep_all=TRUE)%>%
ggplot(aes(x=顺序,y=缺失))+
geom_col()

msleep%>%分组依据(订单)%>%
突变(缺失=总和(is.na(睡眠周期))%>%
ggplot(aes(x=顺序,y=缺失))+
geom_col()


由(v2.0.0)创建于2021-06-02欢迎使用SO。这通常是一个不错的问题——不过,如果有一个可复制的例子,这会有所帮助——请参阅我的答案,了解一种方法。几乎没有任何问题不能用虚假数据复制,这有助于我们帮助您感谢您的解释!有意义的是,这些点只是在彼此的顶部绘制。他们总结了它们。还不知道distinct()函数。非常感谢。