2011-04-12 50 views
0

我正在试图在R中生成与多种因素相似的单个点图,这与由minitab生成的类似。用多种因素在R中生成单独点图

我已经能够在R中产生单独的点图,但我无法弄清楚如何将分组添加到x轴。例如,我有一个颜色和一种类型,我想在x轴上显示,每种类型都有两种颜色,我希望这放在同一个图上,但不能找出点图。

结果应该看起来类似于这个分组,但是一个点图反而只有一个图,我只是想说明分组。

http://ajpendo.physiology.org/content/280/5/E804/F6.small.gif

抱歉,不能发布图片,太小白的堆栈:)

我已经冲刷网页却找不到太大的帮助。

任何想法?

+0

你的意思是'dotchart'? – James 2011-04-12 16:12:47

回答

1

可以在R.

第一种方法是使用lattice包为此在许多方面:

library(lattice) 
xyplot(lat ~ long | cut(depth, 3), 
     data = quakes, 
     aspect = "iso", 
     pch = ".", 
     cex = 2, 
     type = c("p", "g"), 
     xlab = "Longitude", 
     ylab = "Latitude", 
     strip = strip.custom(strip.names = TRUE, var.name = "Depth")) 

enter image description here

而第二个是在ggplot中:

library(ggplot2) 
df <- quakes 
df$cut_depth <- cut(quakes$depth, 3) 
ggplot(quakes, aes(x=long, y=lat)) + geom_point() + facet_grid(.~cut_depth) 

enter image description here

+0

这是类似于我要去的。我在下面评论;老板想要在底部的条形标题和AFAIK ggplot不会让你这样做。我尝试绘制每个分类因子作为自己的情节,然后使用grid.layout来安排情节相同的效果,但它不工作。当我这样做时,格式会发生太多变化。看起来我不得不试图说服他接受它的方式。 – pcLogos 2011-05-06 15:35:57

0

您可以使用ggplot最直接地做到这一点。比方说,你有以下列data.frame:

DTA:= X,Y,颜色,条件

其中x,y是数字和颜色,状态的因素。然后,你可以做到以下几点:

require(ggplot2) 
ggplot(dta, aes(x = x, y = y, color = color)) + geom_point() + facet_wrap(~ condition) 

或者,在常规R您可以这样做:

plot(dta$x, dta$y, col = dta$color, pch = dta$condition) 

然而,这可能是太忙。

吉姆

+0

ggplot方法可行,但老板想要的是底部的facet标签。搜索后,它看起来像没有在R的功能。 – pcLogos 2011-05-06 15:29:55