是否可以按两列分组?那么叉积是由geom_point()
和绘制的geom_smooth()
?
例如:
frame <- data.frame(
series <- rep(c('a', 'b'), 6),
sample <- rep(c('glass','water', 'metal'), 4),
data <- c(1:12))
ggplot(frame, aes()) # ...
这样的点6
和12
共享一个组,但不能与3
。
Answers:
为什么不只将paste
这两列放在一起,然后将该变量用作组?
frame$grp <- paste(frame[,1],frame[,2])
一种更正式的方法是使用函数interaction
。
paste
是,当输入是一个因素时,它将丢弃级别,并interaction
保留原始因素的顺序。这意味着使用interaction
方法更自然地将组排序。
以这个问题为例,interaction
用于将两列合并为一个新因子:
# Data frame with two continuous variables and two factors
set.seed(0)
x <- rep(1:10, 4)
y <- c(rep(1:10, 2)+rnorm(20)/5, rep(6:15, 2) + rnorm(20)/5)
treatment <- gl(2, 20, 40, labels=letters[1:2])
replicate <- gl(2, 10, 40)
d <- data.frame(x=x, y=y, treatment=treatment, replicate=replicate)
ggplot(d, aes(x=x, y=y, colour=treatment, shape = replicate,
group=interaction(treatment, replicate))) +
geom_point() + geom_line()
ggplot(df) + geom_violin(aes(class1, metric.var, group = interaction(class1, class2)), position = position_dodge(width=.5))
例如:
qplot(round, price, data=firm, group=id, color=id, geom='line') +
geom_smooth(aes(group=interaction(size, type)))
data.frame
出于情节目的修改您的内容。本plot
应绘制你的DF而不是相反。