R中多列的箱线图

Boxplot across multiple columns in R

全部,

对 R 很陌生,所以我在尝试解决这个问题时遇到了一些麻烦。这是我正在处理的数据示例...

ID Cross_specific Cross_pop seed_count
1 种间 不适用 #
2 种内 人口内部 #
3 种内 种群间 #

我想要做的是创建一个箱线图,通过 intraspecific/intrapopulation、intraspecific/interpopulation 和种间分隔种子计数 - 所以三个独立的箱线图。我很确定我必须让箱线图读取两个不同的列,我想我已经弄清楚了。

问题在于它将箱线图分为五类:“Cross_specific”列中的“种间”和“种内”以及来自“NA”、“种群内”和“种群间”的"Cross_pop_ 列。

有没有办法从“Cross_pop”列中获取“intra”和“interspecific”类别(将“NA”排除在外),而仅从“[=”列中获取“interspecific”类别84=]" 列?

这是我用的线

boxplot(seed_count_avg~cross_pop+cross_specific="interspecific",data=data,main="Seed Count",xlab="Cross Type",ylab="Seed Count")

不幸的是,我得到了一个错误(错误:意外的'=' in "boxplot(seed_count_avg~cross_pop+cross_specific=",如果你想知道的话)。

我也用过这个代码

boxplot(seed_count_avg~cross_pop+cross_specific,data=data,main="Seed Count",xlab="Cross Type",ylab="Seed Count")

创建了箱线图,但有空格。

提前致谢!

这可能与您想要做的很接近。首先我们需要可重现的数据:

set.seed(42)
Cross_specific <- sample(c("interspecific", "intraspecific"), 100, replace=TRUE)
Cross_pop <- sample(c("intrapopulation", "interpopulation"), 100, replace=TRUE)
Cross_pop[Cross_specific=="interspecific"] <- ""
seed_count <- sample(1000, 100)
data <- data.frame(Cross_specific, Cross_pop, seed_count)

每当 Cross_specific=="interspecific" 我们将 Cross_pop 的值设置为 "",而不是 NA,因为这不是缺失数据。现在是箱线图:

boxplot(seed_count~Cross_specific+Cross_pop, data=data2, main="Seed Count", 
     xlab="Cross Type", ylab="Seed Count", drop=TRUE, cex.axis=.9)

产生以下情节: