上下文:我希望在实验过程中以图形方式比较工作负载和信任随时间的变化。时间由2个街区表示。
问题:我试图在同一图表上用不同的单位绘制不同的变量来比较进化。我只发现它适用于geom_line,但它不适用于stat_summary。
数据:x是表示时间的“阻止”(2个块)。用于y的变量是“工作量”和“信任”(均为1到5,通过询问主题获得)。 提供一些数据:
data = data.frame("Subject" = c(1,1,2,2,3,3), "Block" = c(1,2,1,2,1,2), "Workload" = c(1,5,2,4,3,3), "Trust" = c(4,1,3,2,2,1))
我试过这个,它有效:
ggplot(data, aes(Block)) + geom_line(aes(y = Trust)) + geom_line(aes(y = Workload))
然而,它并没有产生令人信服的结果:因为我有多个点,所以它为每个值链接它们,这样我只获得垂直特征。考虑到geom_line应该做什么,这是完全正常的。 所以我仍然可以计算每个块和每个变量的均值,但是我想知道是否可以使用stat_summary获得直接结果,使用类似的东西:
ggplot(data, aes(Block)) + stat_summary(fun.y = mean, geom = line, aes(y = Trust)) + stat_summary(fun.y = mean, geom = line, aes(y = Workload))
感谢所有致力于解决这一问题的人。
度过美好的一天!
Pyxel
答案 0 :(得分:0)
我建议您在绘图前总结一下数据。考虑一下:
library(tidyverse)
df <- data_frame("Subject" = c(1,1,2,2,3,3),
"Block" = c(1,2,1,2,1,2),
"Workload" = c(1,5,2,4,3,3),
"Trust" = c(4,1,3,2,2,1))
grouped <-
df %>%
group_by(Block) %>%
summarise(trust = mean(Trust),
workload = mean(Workload))
ggplot(grouped, aes(x = Block)) +
geom_line(aes(y = trust)) +
geom_line(aes(y = workload))