假设这个结构的数据:
test <- structure(list(characteristic = structure(c(1L, 2L, 3L, 1L, 2L
), .Label = c("Factor1", "Factor2", "Factor3"), class = "factor"),
es = c(1.2, 1.4, 1.6, 1.3, 1.5), ci_low = c(1.1, 1.3, 1.5,
1.2, 1.4), ci_upp = c(1.3, 1.5, 1.7, 1.4, 1.6), label = structure(c(1L,
3L, 5L, 2L, 4L), .Label = c("1.2 (1.1, 1.3)", "1.3 (1.2, 1.4)",
"1.4 (1.3, 1.5)", "1.5 (1.4, 1.6)", "1.6 (1.5, 1.7)"), class = "factor"),
set = structure(c(1L, 1L, 1L, 2L, 2L), .Label …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ggplot2制作更好的R基础图.不仅有一个共同的传奇,而且因为我喜欢ggplot2样式和自定义.我的数据由3个单独的数据集组成,这些数据集包含几组(但不同)治疗的相同的两组观察结果.因此,我想在1个图中生成3个单独的图,但是具有不同的因子水平.为了说明我的观点,这里的第一个图像是我到目前为止用R base生成的图像:

我尝试使用与我的数据具有完全相同结构的伪数据生成ggplot2图:
foo<-data.frame(c(letters,letters),c(rep('T1',26),rep('T2',26)),
runif(52),rep(c(rep('Ori1',12),rep('Ori2',8),rep('ori3',6)),2))
names(foo)<-c('Treatment','Type','Count','Origin')
a<-ggplot(foo,aes(x = factor(Treatment),y = Count))
a+ facet_grid(Origin~., scales="free_y", space="free") +
geom_bar(stat="identity",aes(fill=factor(foo$Type)),position="dodge")
+theme_bw()+theme(axis.text.x=element_text(angle=60,hjust=1))+coord_flip()
Run Code Online (Sandbox Code Playgroud)
这给了我以下不良后果.

我知道堆栈溢出主题从ggplot2中的Facet中删除未使用的因子以及如何从ggplot2 facets中删除空因子?但是,他们没有处理我试图在这里实现的聚类条形图,我觉得它们是问题,但现在不知道如何解决它.欢迎所有指针.
很少有线程处理类似的问题,但我确实没有设法让这个线程像我期望的那样工作。
我有这个数据集:
Item AssetClass variable value
89 F/EER Hybrids 2016-09-15 5.0014
103 F/SOLG MA 2016-09-15 1.5829
104 F/SOP MA 2016-09-15 -5.4365
105 F/SRV MA 2016-09-15 6.1000
49 F/EER Hybrids 2016-06-15 0.7179
63 F/SOLG MA 2016-06-15 0.0000
64 F/SOP MA 2016-06-15 4.7124
65 F/SRV MA 2016-06-15 13.5132
9 F/EER Hybrids 2016-03-15 0.9599
23 F/SOLG MA 2016-03-15 0.0000
24 F/SOP MA 2016-03-15 6.6873
25 F/SRV MA 2016-03-15 9.9191
Run Code Online (Sandbox Code Playgroud)
具有以下结构:
'data.frame': 12 obs. of 4 variables:
$ Item : Factor w/ 40 levels …Run Code Online (Sandbox Code Playgroud) 我想使用 ggplot 绘制以下图:

这是我的 df 结构的一个例子(有点,不按数据比例绘制):
example.df = data.frame(mean = c(0.3,0.8,0.4,0.65,0.28,0.91,0.35,0.61,0.32,0.94,0.1,0.9,0.13,0.85,0.7,1.3),
std.dev = c(0.01,0.03,0.023,0.031,0.01,0.012,0.015,0.021,0.21,0.13,0.023,0.051,0.07,0.012,0.025,0.058),
class = c("1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2"),
group = c("group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2"))
Run Code Online (Sandbox Code Playgroud)
该数据框由 16 个重复组成,每个重复具有给定的平均值和给定的标准偏差。
对于每个重复,我想绘制置信区间,图中示例中的大点是平均估计值,条形的长度是标准偏差的两倍。
另外,我想在同一行中绘制两个不同的副本,但颜色不同,按类别着色,红色是 1 类,蓝色是 2 类。
最后,我想将整个情节划分为对应于两个不同组的两个面板(在同一行中)。
我试着查看这个网站,http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/,但无法弄清楚如何为这个结构的任何数据框自动化这个,有 X 个组(在本例中为 2),并且每组 K 次重复(在本例中为 8、4 个第 1 类和第 4 个第 2 类)。
有没有使用 ggplot 或标准 r pkg 库来做到这一点的好方法?
以mpg数据集为例,我想facet_grid()在每个制造商下仅列出相关模型的地方使用。
该代码似乎有效(左图)
library(ggplot2)
qplot(cty, model, data=mpg) +
facet_grid(manufacturer ~ ., scales = "free", space = "free")
Run Code Online (Sandbox Code Playgroud)
但这不是(对)
ggplot(mpg) +
geom_bar(aes(x = model, y = cty), stat = "identity") +
coord_flip() +
facet_grid(manufacturer ~ ., scales = "free", space = "free")
Run Code Online (Sandbox Code Playgroud)
我看到了此线程,但无法正常工作: 带刻面的水平条形图
有什么想法吗?