进行了一项包含5个问题的调查.这些问题共享同一组可能的答案.以下是使用ggplot2重新绘制的数据.
library(tidyr)
library(magrittr)
data <- data.frame(ID = c(1:500),
q1 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q2 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q3 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q4 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q5 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D"))) %>%
gather(question, value, q1:q5)
Run Code Online (Sandbox Code Playgroud)
我想根据给定响应的数量对问题的排序进行排序.而不是这个......
library(ggplot2)
ggplot(data, …Run Code Online (Sandbox Code Playgroud) 这使我无所适从,而且我确定我缺少一些简单的东西。任何帮助,将不胜感激。
我希望将红色和蓝色点分开,每个点都设置在对应的箱形图上,如第二幅图像所示,但具有数字x轴,如第一幅图像所示。
df <- data.frame(x = rep(c(1, 2, 10), each = 20),
g = rep(c("A", "B"), times = 30),
y = c(rnorm(60, 0, 1)))
# OK - boxplot by x and g
ggplot(df, aes(y = y, x = x, fill = g, color = g, group = interaction(x, g))) +
geom_boxplot()
# Not OK. The dots are only grouped by x, not g
ggplot(df, aes(y = y, x = x, fill = g, color = g, group = interaction(x, g))) …Run Code Online (Sandbox Code Playgroud)