在R中使用ggplot创建地毯

在R中使用ggplot创建地毯,r,ggplot2,R,Ggplot2,我有一个数据框架,有10个变量的496个观察值,分别是case、water81、water80、water79、收入、教育、退休、peop81、cpeop、peop80。现在我对创建ggplot(退休收入分配)感兴趣。我还需要在绘图的左侧创建一个地毯。但是当我尝试的时候,地毯是在左边和右边创建的,但是只在顶部和底部创建 ggplot(data=dataframe,aes(x=income,fill=retire))+ geom_histogram()+geom_rug(sides="t",

我有一个数据框架,有10个变量的496个观察值,分别是case、water81、water80、water79、收入、教育、退休、peop81、cpeop、peop80。现在我对创建ggplot(退休收入分配)感兴趣。我还需要在绘图的左侧创建一个地毯。但是当我尝试的时候,地毯是在左边和右边创建的,但是只在顶部和底部创建

ggplot(data=dataframe,aes(x=income,fill=retire))+
   geom_histogram()+geom_rug(sides="t",color="red")
创建sides=“b”或“t”地毯时。如果我使用rugs=“l”或“r”,则不会创建地毯


您希望系统在该示例图的y轴上放置地毯标记的位置?同样重要的是:你会如何解读它们?地毯标记不适用于此类数据显示

提供代码的可复制示例会有所帮助,但即使没有它,我也可以看出您没有映射
y
变量,而
geom_rug
将需要该变量来制作
y
轴地毯标记

如果坚持这样做,则需要手动生成y轴位置,然后将其传递到
ggplot
。(请注意,我正在使用来自
magrittr
的管道来构造数据)

或者,改为显示密度:

library(stringr)

ggplot(mpg
       , aes(x = cty
             , col = word(trans, sep = fixed("(")))) +
  geom_density() +
  geom_rug()

我有一个包含10个变量的数据集,这些变量在问题中列出。因此,“退休”列包含“是”或“否”选项,而“收入”列包含详细的数字收入值。我需要在收入和退休之间画一个ggplot2…你能帮我吗。我还想知道什么时候应该使用geom_直方图、geom_点或geom_条。我添加了一个带有数字变量的版本(只需添加
cut
)。如果我的回答没有告诉你如何添加地毯标记呢?如果你有一个情节的例子,看起来像你正在试图创造的,这可能会有所帮助
geom_histogram
本质上是对
geom_bar
进行装箱的包装器<代码>几何点用于完全不同类型的数据。你想在这个情节中传达什么?如果您只是尝试比较分布,请参见我的示例,其中包含
geom_density
toPlotNum <-
  mpg %$%
  table(class
        , City = cut(cty,pretty(cty))) %>%
  as.data.frame()

ggplot(toPlotNum
       , aes(x = City
             , fill = class
             , col = class
             , y = Freq)) +
  geom_bar(stat = "identity"
           , position = "dodge") +
  geom_rug()
library(stringr)

ggplot(mpg
       , aes(x = cty
             , col = word(trans, sep = fixed("(")))) +
  geom_density() +
  geom_rug()