【发布时间】:2013-10-12 20:38:30
【问题描述】:
我一直在遵循Little Book of R 中的分析步骤。这是一个很棒的教程,但是为了让事情正常工作,它和许多其他教程需要以某种方式组织数据。
我的数据结构是这样的(一个非常小的样本)a:
Phylum Confidence Time Seq_ID Environment Dataset
Acidobacteria 0.801 5 >3134898 Marine 4440037.3
Bacteroidetes 0.812 6 >3066473 Marine 4440037.3
Acidobacteria 0.828 5 >3085551 Gut 4440038.3
Firmicutes 0.830 4 >3087676 Coral 4440036.3
我想要一个好方法
a) 按细菌门为每个环境绘制时间。我意识到这意味着我需要为每个门创建一个图。 (见plots)
b.按两个不同门的环境绘制时间,然后我将按环境对它们进行颜色编码。 (见plots)
我知道我可以根据环境和细菌创建一个新的数据框,但我无法将它正确地合并到使用第三个变量(时间)的图中。
new_df = myDF[(myDF$Environment=='Marine') & (myDF$Phylum=='Acidobacteria'),]
我已经尝试了几件事...
p <- ggplot(myDF, aes(Environment, Time))
p + geom_boxplot(aes(fill = Environment))
它创建了一个图,但这没有考虑门(例如,我希望每个门都有一个单独的图)。
或者这个……
for (i in environment) #this is a list I created
{
for (j in phyla) #this is a list I created
{
#stats_df = myDF[(myDF$Environment==i) & (myDF$Phylum==j),]
plot(myDF[[j]], myDF[[i]], xlab=NULL, ylab='Time')
}
}
这个有错误
Warning in min(x) : no non-missing arguments to min; returning Inf
Warning in max(x) : no non-missing arguments to max; returning -Inf
Warning in min(x) : no non-missing arguments to min; returning Inf
Warning in max(x) : no non-missing arguments to max; returning -Inf
Error in plot.window(...) : need finite 'xlim' values
Calls: plot -> plot.default -> localWindow -> plot.window
Execution halted
shell returned 1
但即使它确实绘制了,它仍然没有考虑 Time 变量。我真正想弄清楚的是如何在情节中使用三个变量。
【问题讨论】:
-
您能否澄清一下您的数据集的结构以及您希望生成哪些图。在第二个图中,似乎是门的名称(即第二个数据集)显示为数值变量。第一个数据集 (Phylum) 中的第一个变量的值类似于第二个数据集中的“环境”变量。
-
当然是亨利克。我清理了帖子。