【发布时间】:2013-12-18 20:35:18
【问题描述】:
我正在尝试创建两个图表,其中两个的 x 轴都是文件名(请参阅下面的数据组织小示例)。
对于一个单独的文件名,一个特定的门将多次出现 - 每个都有不同的 M1 值。
Phylum M1 Filename
Acidobacteria 55.75 4461130.3
Acidobacteria 57.08 4461130.3
Acidobacteria 54.61 4461125.3
Acidobacteria 53.49 4461145.3
Acidobacteria 57.99 4461145.3
Acidobacteria 53.05 4461161.3
Acidobacteria 51.03 4461161.3
Acidobacteria 50.20 4461227.3
Acidobacteria 51.88 4461227.3
图 1:x 轴是文件名实例。 y 轴是每个门在每个文件名中出现的次数(例如,对于文件名 4461145.3,w/ Acidobacteria = 2)。
图 2:x 轴是文件名实例。 y 轴是每个文件名出现的每个门的 M1 平均值(例如 w/Acidobacteria (n=2),对于文件名 4461145.3,mean_M1 = 55.74)。
图表上的点应该按门着色,并且对于每个文件名,每个门的总和和平均值应该在一条垂直线上。对于给出的示例,只有一个 Phylum 名称使得请求有点微不足道,但我的数据集中有 30 多个唯一的 Phylum。
我可以通过文件名绘制每个门的原始 M1 值(它也可以正确着色),但我无法完全弄清楚获得 M1 总和和平均值的命名法。我试图使用 lapply,但我不知道如何将它与 ggplot 结合起来。
FN = env.txt
myDF = read.csv(FN, header=TRUE, sep=' ')
f <- qplot(Filename, M1, data=myDF)
f + geom_point(aes(colour=factor(Phylum))) + theme(axis.text.x=element_text(angle=90, hjust=1))
e <- qplot(Filename, mean(M1), data=myDF)
e + geom_point(aes(colour=factor(Phylum))) + theme(axis.text.x=element_text(angle=90, hjust=1))
g <- ggplot(myDF, aes(Filename, M1))
g + geom_point(aes(colour=factor(Phylum))) + theme(axis.text.x=element_text(angle=90, hjust=1))
p <- ggplot(myDF, aes(Filename, mean(M1)))
p + geom_point() + facet_grid(. ~ Phylum) + theme(axis.text.x=element_text(angle=90, hjust=1))
q <- qplot(Filename, M1, data=myDF, fun.y='mean')
q + geom_point() + facet_grid(. ~ Phylum) + theme(axis.text.x=element_text(angle=90, hjust=1))
可以在此处看到尝试的图像:http://imgur.com/srmR1rO 第一个大致是正确的想法,但我想要的是平均值,而不是 M1 的所有值。我没有尝试求和问题。
非常感谢您的帮助。
【问题讨论】: