R 如何在多个条件下显示数据
我从一个实验中得到了一些数据,这个实验有7个变量,它们有两个级别来生成实验的条件。因此,有128(2^7)个不同的变量组合。我已经看到了一些在格子样式的面板图中显示的数据,看起来不错,但我只遇到过对两个不同变量这样做的数据。然而,我想知道是否有人有任何想法来表示有2个以上变量的数据(即列联表不起作用!) 我提供了一些示例数据来解释我的数据在不清楚时的样子:R 如何在多个条件下显示数据,r,plot,ggplot2,data-visualization,lattice,R,Plot,Ggplot2,Data Visualization,Lattice,我从一个实验中得到了一些数据,这个实验有7个变量,它们有两个级别来生成实验的条件。因此,有128(2^7)个不同的变量组合。我已经看到了一些在格子样式的面板图中显示的数据,看起来不错,但我只遇到过对两个不同变量这样做的数据。然而,我想知道是否有人有任何想法来表示有2个以上变量的数据(即列联表不起作用!) 我提供了一些示例数据来解释我的数据在不清楚时的样子: cond1 <- c(1,2) cond2 <- c(1,2) cond3 <- c(1,2) cond4 <- c
cond1 <- c(1,2)
cond2 <- c(1,2)
cond3 <- c(1,2)
cond4 <- c(1,2)
cond5 <- c(1,2)
cond6 <- c(1,2)
cond7 <- c(1,2)
conditions <- expand.grid(cond1,cond2,cond3,cond4,cond5,cond6,cond7)
conditions <- sapply(conditions, rep.int, times=10)
data <- runif (nrow(conditions))
df1 <- cbind(conditions, data)
cond1我可以直接做6个,如果你在Var7
中为每个级别绘制相同的图,你就得到了7个维度。他们可能需要一些调整
df1 <- data.frame(df1)
library(ggplot2)
xy1 <- ggplot(droplevels(df1[df1$Var7 == 1,]), aes(x = as.factor(Var1),
y = as.factor(Var2),
color = as.factor(Var3),
shape = as.factor(Var4),
alpha = Var5,
size = data)) +
geom_jitter() +
facet_wrap(~ as.factor(Var6))
xy2 <- ggplot(droplevels(df1[df1$Var7 == 2,]), aes(x = as.factor(Var1),
y = as.factor(Var2),
color = as.factor(Var3),
shape = as.factor(Var4),
alpha = Var5,
size = data)) +
geom_jitter() +
facet_wrap(~ as.factor(Var6))
library(gridExtra)
grid.arrange(xy1, xy2, ncol = 1)
df1一个表示选项是将7个变量分成两组,并将结果表示为面网格:
df<-mutate(data.frame(df1),
V14=factor(paste0(Var1, Var2, Var3, Var4, "___")),
V57=factor(paste0("___", Var5, Var6, Var7)))
ggplot(df) +
geom_density(aes(x=data)) +
facet_grid(V14~V57, switch="y") +
scale_x_continuous(breaks=c(0,1)) +
theme(
axis.text.y=element_blank(),
axis.ticks.y=element_blank()
) +
xlab("data") + ylab("")
df