R ggplot密度图产生意外结果

R ggplot密度图产生意外结果,r,ggplot2,density-plot,R,Ggplot2,Density Plot,我有一个关于使用ggplot的密度图的问题。为了澄清我的问题,我创建了以下示例数据: DT2 <- data.table(Rating = c(1:19), Nndef = c(50, 30, 70, 70, 60, 40, 60, 30, 30, 10, 5, 3, 1, 0, 0, 0, 0, 0, 0)) 这让我 这就是我使用这些数据所期望的结果。但是,现在考虑这个问题 DT1 <- data.table(

我有一个关于使用ggplot的密度图的问题。为了澄清我的问题,我创建了以下示例数据:

DT2 <- data.table(Rating = c(1:19),
            Nndef = c(50, 30, 70, 70, 60, 40, 60, 30, 30, 10,
                      5, 3, 1, 0, 0, 0, 0, 0, 0))
这让我

这就是我使用这些数据所期望的结果。但是,现在考虑这个问题
DT1 <- data.table(Rating = c(1:19),
            Nndef = c(460, 480, 1300, 2600, 5700, 4700, 9300, 10600, 7700, 8200,
                      6500, 6700, 5300, 4700, 2700, 1100, 1200, 400, 420))
DT1 <- DT1[rep(1:.N,Nndef)]
ggplot(DT1, aes(x =Rating))+ theme_bw() +
geom_density(aes(x=Rating))

DT1您可以将调整系数限制为“x”唯一值数量的一小部分:

ggplot(DT1, aes(x =Rating))+ theme_bw() +
      geom_density(aes(x=Rating), adjust=length(unique(x))/10)

您的数据似乎是离散的。密度图适用于连续随机变量。也许用条形图更好。我知道这是连续随机变量的。但是,我喜欢在密度图中显示默认值。我真的很喜欢使用
geom_density
,当然这不可能以自动化的方式实现。谢谢你,事实上这很明显,但我想不出来。
DT1 <- data.table(Rating = c(1:19),
            Nndef = c(460, 480, 1300, 2600, 5700, 4700, 9300, 10600, 7700, 8200,
                      6500, 6700, 5300, 4700, 2700, 1100, 1200, 400, 420))
DT1 <- DT1[rep(1:.N,Nndef)]
ggplot(DT1, aes(x =Rating))+ theme_bw() +
geom_density(aes(x=Rating))
ggplot(DT1, aes(x =Rating))+ theme_bw() +
      geom_density(aes(x=Rating), adjust=length(unique(x))/10)