首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示组和时间交互(2x2)与盒图

显示组和时间交互(2x2)与盒图
EN

Stack Overflow用户
提问于 2016-03-31 11:37:19
回答 1查看 1.1K关注 0票数 0

我看过几个使用ggplot2和reshapre预库的例子。但我的最终结果还是覆盖了我的盒子。我还没有在2x2盒图设计(组和时间交互)上看到任何简单的例子。我只有一个数据帧。

代码语言:javascript
复制
ggplot(aes(y = DV, x = "Group and Time", col = df$group), data = df) + 
  geom_boxplot(aes(y = df$y1, x=df$group, col="T1")) + 
  geom_boxplot(aes(y = df$y2, x=df$group, col="T2"))

T2的颜色(蓝色)覆盖T1-颜色(红色)。我的最小示例看起来是这样的:

代码语言:javascript
复制
set.seed(1234)
x<- sample(c("exp", "con"), 100, replace = TRUE)
yT1<-rnorm(100)
yT2<-rnorm(100)
df<- (as.data.frame(cbind(x,yT1,yT2)))
head(df)

    x                yT1                  yT2
1 exp  0.405002805433516     1.94871306497599
2 exp   0.97580332180945    0.933816332207727
3 con -0.348876736539909     1.91305942169705
4 con  0.158625439491262 -0.00523405793193957
5 exp  -1.76325506654115   -0.152260048921635
6 exp  0.338596047099905   -0.509631657179118

ggplot(aes(y = DV, x = "group and time", col = df$x), data = df) + 
  geom_boxplot(aes(y = df$yT1, x=df$x, col="T1")) + 
  geom_boxplot(aes(y = df$yT2, x=df$x, col="T2")) 

我知道我的最小示例缺少某种类型的类转换( df是因子,但应该包含数字列)。对此我很抱歉,但我现在不知道怎么解决这个问题。我希望你明白这个想法。非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-31 19:35:14

我不知道你到底是什么意思-我想,exp/con和T1/T2之间的相互作用?

也许这是您要寻找的情节(请注意函数调用中的interaction aes ):

代码语言:javascript
复制
library(ggplot2)
library(tidyr)

set.seed(1234)
x<- sample(c("exp", "con"), 100, replace = TRUE)
yT1<-rnorm(100)
yT2<-rnorm(100)
df1 <- as.data.frame(cbind(x,yT1,yT2))

df2 <- gather(df1, "grp", "val", yT1, yT2)
df2$val <- as.numeric(df2$val)

ggplot(df2, aes(x = grp, y = val, interaction = x, colour = grp)) + 
  geom_boxplot()

或者,作为替代,给每个群体一个自己的颜色:

代码语言:javascript
复制
df2$newx <- sprintf("%s.%s", as.character(df2$x), df2$grp)

ggplot(df2, aes(x = newx, y = val, colour = newx)) + 
  geom_boxplot()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36332314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档