我正在尝试用4个盒子来创建一个盒子--一个是女性控制,一个是男性控制,一个是女性实验,另一个是男性实验。我只买了两个盒子,我不太清楚为什么。有什么想法吗?谢谢!
下面是我的代码:
boxplot(dex$diff [dex$dexa <1] [dex$sex <1], dex$diff [dex$dexa <1] [dex$sex == 1], dex$diff [dex$dexa == 0] [dex$sex <1], dex$diff [dex$dexa == 0] [dex$sex > 0], xlab = "Control Dexa", ylab = "Weight Difference (Before - 6 Weeks) in kg", main = "Weight Loss Comparison Based on Sex", ylim = c(-10,10), col = "green")

在性专栏中有两个NA值,我不知道这是否是导致问题的原因?谢谢!
发布于 2021-12-06 09:56:26
我建议您在此任务中使用ggplot。下面是我根据您的信息创建的一个示例。对于下一个问题,我建议您至少展示一个data.frame,作为数据结构的一个示例。
library(ggplot2)
data2use <- data.frame(female=c(0,1,1,1,0,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1), 
                       exp=c(1,1,1,1,0,1,0,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0), 
                       diff=c(runif(25,0,10)))
    
data2use$group <- NA
data2use$group = ifelse(data2use$female==1 & data2use$exp==1, 1, data2use$group)
data2use$group = ifelse(data2use$female==1 & data2use$exp==0, 2, data2use$group)
data2use$group = ifelse(data2use$female==0 & data2use$exp==1, 3, data2use$group)
data2use$group = ifelse(data2use$female==0 & data2use$exp==0, 4, data2use$group)
    
data2use.long <- tidyr::pivot_longer(data2use, cols=c("group"))
    
ggplot(data2use.long) + 
geom_boxplot(aes(x=value, y=diff, group=value), fill="forestgreen") +
theme_bw()

发布于 2021-12-06 23:15:35
似乎您正在尝试绘制分类列的组合,您只需使用公式接口中的"+“:
set.seed(199)
dex = data.frame(dex = rnorm(20,21),dexa = rbinom(20,1,0.5),sex = rbinom(20,1,0.5))
boxplot(dex ~ sex + dexa,data=dex)

如果您有NAs,这仍然有效:
dex$dexa[3:4] = NA
boxplot(dex ~ sex + dexa,data=dex)

我试过你的代码但什么也没得到。
https://stackoverflow.com/questions/70242929
复制相似问题