我一直在遵循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) 按细菌门为每个环境绘制时间。我意识到这意味着我需要为每个门创建一个图。(见地块)
湾。按两个不同门的环境绘制时间,然后我将按环境对它们进行颜色编码。(见地块)
我知道我可以根据环境和细菌创建一个新的数据框,但是我无法将它正确地合并到使用第三个变量(时间)的图中。
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 变量。我真正想弄清楚的是如何在情节中使用三个变量。