框图不使用因子数据

时间:2014-12-10 19:08:56

标签: r ggplot2

我试图创建一些调查数据的简单箱图。

数据 数据是调查数据,每行的响应记录为1-5。

**Example Data**

Race= 2,2,3,2,5
Rating = 1,1,3,5,5

转换为因子

df$Race = factor(DF$Race)
df$Rating = factor(DF$Rating)

分配每个因子变量水平

levels(df$Race) = c("Asian/Pacific Islander", "White" , "American Indian/Eskimo", "Black/African American", "Other","NA")
levels(df$Rating) = c("Poor","Below Avg.","Neutral","Good","Excellent", "NA")

ggplot(df, aes(x=Race, y=Rating)) + geom_boxplot()

使用完整数据我得到这样的结果。 GGPLOT output 请让我知道为什么这会变得时髦。另外,我如何删除NA?#。我是R的新手。所以如果你看到别的东西我做错了,或者说不好请告诉我!谢谢!

更新 使用评论中提供的@jlhoward代码,我可以生成以下内容 - 但是它们绘制的内容完全相同,而不是绘制" white。"

ggplot(df, aes(x=Race, y=as.numeric(Rating))) + geom_boxplot() +scale_y_continuous(labels=df$Rating,breaks=as.integer(df$Rating))

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望因子水平(“差”,“低于平均”等)出现在Y轴上,但实际上您希望用数值计算“等级”箱图。那是对的吗?

如果是这种情况,您需要将“rating”变量转换为一个因子,然后再将其转换为ggplot(保留数字),然后根据y轴进行相应的标记。到你的因子水平。

(一个可重复的例子将有助于更全面地回答这个问题)。