Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.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中的密度图(ggplot2),由变量着色,返回与直方图和频率图非常不同的分布?_R_Ggplot2_Density Plot - Fatal编程技术网

R中的密度图(ggplot2),由变量着色,返回与直方图和频率图非常不同的分布?

R中的密度图(ggplot2),由变量着色,返回与直方图和频率图非常不同的分布?,r,ggplot2,density-plot,R,Ggplot2,Density Plot,我已经梳理了这里的几个问题,但我似乎不知道我的密度图发生了什么 我有一套放射性碳年代表,它们来自不同的文化。我需要显示日期随时间的变化频率,但要根据文化来区分日期。堆叠直方图可以完成这项工作(图1),但通常不鼓励使用它们,因此这是不可能的,但我想要比频率图更平滑的东西(图2) 图1:直方图 图2:频率图 当我绘制一个由培养物着色的密度图(图3)时,培养物在y轴上的相对分布与其计数相比发生了巨大的变化。例如,在密度图中,蓝色的密度曲线远高于紫色的密度曲线;然而,在柱状图中,我们可以看到更多的日

我已经梳理了这里的几个问题,但我似乎不知道我的密度图发生了什么

我有一套放射性碳年代表,它们来自不同的文化。我需要显示日期随时间的变化频率,但要根据文化来区分日期。堆叠直方图可以完成这项工作(图1),但通常不鼓励使用它们,因此这是不可能的,但我想要比频率图更平滑的东西(图2)

图1:直方图

图2:频率图

当我绘制一个由培养物着色的密度图(图3)时,培养物在y轴上的相对分布与其计数相比发生了巨大的变化。例如,在密度图中,蓝色的密度曲线远高于紫色的密度曲线;然而,在柱状图中,我们可以看到更多的日期归属于紫色组

图3:密度图

我的代码是否有问题(见下文)?或者我需要以某种方式缩放密度曲线?还是密度图有什么我不明白的地方?(免责声明:我的统计知识相当薄弱)

提前谢谢

ggplot(test, aes(x=CalBP))+
theme_tufte(base_family="sans")+
theme(axis.line=element_line(), axis.text=element_text(color="black")) +
theme(legend.position="none") +
theme(text=element_text(size=14)) +
geom_density(aes(color=factor(Culture), fill=factor(Culture)), alpha = 0.5) +
scale_x_reverse() +
labs(x="Cal. B.P.") +
ylab(expression("Density")) +
coord_cartesian(xlim = c(4773, 225)) +
scale_fill_manual(values=c("#cf9045", "#ebe332", "#5f9388", "#6abeef", "#9d88d6")) +
scale_color_manual(values=c("#cf9045", "#ebe332", "#5f9388", "#6abeef", "#9d88d6")) 

不同之处在于,密度图是按比例缩放的,因此曲线下的总面积为1。它的功能是建立一个概率密度函数的模型,它(根据定义)有1个区域

如果数据中的每个组都有相同数量的观察值,那么密度图和直方图之间的唯一区别就是y轴。当您有不同数量的观察时,密度图将对此进行规格化(每个密度图的总面积为1),而对于观察次数较多的组,直方图的条形图要高得多。

在base R中,您可以通过设置
freq=FALSE
在直方图中修复此问题,但我没有看到密度图缩放为直方图-通常更有趣的是忽略相对样本大小的影响。

不同的是,密度图的缩放使曲线下的总面积为1。它的功能是建立一个概率密度函数的模型,它(根据定义)有1个区域

如果数据中的每个组都有相同数量的观察值,那么密度图和直方图之间的唯一区别就是y轴。当您有不同数量的观察时,密度图将对此进行规格化(每个密度图的总面积为1),而对于观察次数较多的组,直方图的条形图要高得多。

在base R中,您可以通过设置
freq=FALSE
在直方图中修复此问题,但我没有看到密度图放大到直方图-通常更有趣的是忽略相对样本大小的影响。

因此,对于我来说,文化间日期的相对频率很重要,密度图可能没有用。也许我会研究平滑我的频率图。谢谢你的帮助!:)因此,就我的目的而言,文化之间日期的相对频率对于说明很重要,密度图可能没有用处。也许我会研究平滑我的频率图。谢谢你的帮助!:)我又翻了一番,发现我所要做的就是稍微修改我的ggplot行:ggplot(test,aes(x=CalBP,y=…count..,fill=“Culture”))我又翻了一番,发现我所要做的就是稍微修改我的ggplot行:ggplot(test,aes(x=CalBP,y=…count..,fill=“Culture”))