R qplot条件因子
使用此数据帧,R qplot条件因子,r,bar-chart,ggplot2,R,Bar Chart,Ggplot2,使用此数据帧,df: bat.condition bat.group bat.money 1 safe 2825.882 2 safe 2931.875 1 glsa 6975.882 2 glsa 5407.500 1 studyabroad 3084.706 2
df
:
bat.condition bat.group bat.money
1 safe 2825.882
2 safe 2931.875
1 glsa 6975.882
2 glsa 5407.500
1 studyabroad 3084.706
2 studyabroad 2253.750
1 jcc 4134.706
2 jcc 5550.625
1 eagg 4578.824
2 eagg 5456.250
我想画一个条形图,x轴上有组,y轴上有钱。此外,我希望根据钢筋出现的条件对钢筋进行分离/分解。到目前为止,我已经使用了以下代码,它几乎是理想的。我有一组因素的酒吧,我只想进一步因素的条件
qplot(factor(bat.group), data = df, geom = "bar", fill = bat.group,
weight = bat.money, position = "dodge")
这产生了这里看到的图像
这里有一个解决方案,我认为它符合您的要求。我使用了
ggplot
语法而不是qplot
。我使用了facet\u wrap
按bat.condition分隔数据。此外,geom_barplot
需要参数stat=“identity”
,否则它将尝试存储您的数据
# Using ggplot2 version 0.9.2.1
library(ggplot2)
dat = read.table(header=TRUE,
text="bat.condition bat.group bat.money
1 safe 2825.882
2 safe 2931.875
1 glsa 6975.882
2 glsa 5407.500
1 studyabroad 3084.706
2 studyabroad 2253.750
1 jcc 4134.706
2 jcc 5550.625
1 eagg 4578.824
2 eagg 5456.250")
p1 = ggplot(data=dat, aes(x=bat.group, y=bat.money, fill=bat.group)) +
geom_bar(stat="identity") +
facet_wrap(~ bat.condition)
ggsave(plot=p1, filename="plot_1.png", height=5, width=8)
编辑:
使用fill=bat.condition
并添加position=“dodge”
将生成一个与您在评论中链接到的图形类似的图形
p2 = ggplot(data=dat, aes(x=bat.group, y=bat.money, fill=factor(bat.condition)))+
geom_bar(position="dodge")
ggsave(plot=p2, filename="plot_2.png", height=4, width=6)
您通常可以通过
交互功能获得分组:
qplot(interaction(bat.condition, bat.group), data = df, geom = "bar", fill = bat.group,
weight = bat.money, position = "dodge")
您可以向数据帧添加新变量,并使用如下方面:
df$factor = factor(df$bat.group)
qplot(as.character(bat.condition), data = df, geom = "bar", fill = bat.group,
weight = bat.money, position = "dodge", facets = . ~ factor)
看起来真不错。我想知道是否有可能将条件1和条件2的值在每组中并排出现。像这样:这就是我要找的——我没有在文档中搜索术语“交互”。有道理。