我的图表看起来像:
我希望按时间顺序排列日期,但我真的无法弄清楚如何。制作图表的代码如下:
label1 <- data.frame( x = 1, y = 4, label = "")
label2 <- data.frame( x = 2, y = -4, label = "")
ggplot(data = Q10, mapping = aes(y = Rating, x = Week, group= StudentFactor, colour=StudentFactor))+
geom_point()+
geom_line()+
geom_smooth(method = 'loess', colour= "black", aes(group=1), se= FALSE)+
theme(legend.position="none") +
labs (x= "Date", y="Q10 Percieved Ability to Manage Workload")+
geom_text(data = label1, aes(x = x, y = y, label = label), inherit.aes = FALSE)+
geom_text(data = label2, aes(x = x, y = y, label = label), inherit.aes = FALSE)
我已经尝试了Q10$Week <- factor(Q10$Week, ordered = TRUE, levels = c("Jan25-Feb 1", "Feb 8-Mar 1", "Mar 8- Mar 22", "Mar 29-Apr 5"))
,但奇怪的是只删除了一周内的所有内容。
任何帮助都会很棒!谢谢!
请在下面找到我的数据:
> dput(Q10)
structure(list(StudentFactor = structure(c(1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 6L,
6L, 6L, 6L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 10L,
10L, 10L, 10L, 11L, 11L, 11L, 11L, 12L, 12L, 12L, 12L, 13L, 13L,
13L, 13L, 14L, 14L, 14L, 14L, 15L, 15L, 15L, 15L, 16L, 16L, 16L,
16L, 17L, 17L, 17L, 17L, 18L, 18L, 18L, 18L, 19L, 19L, 19L, 19L,
20L, 20L, 20L, 20L, 21L, 21L, 21L, 21L, 22L, 22L, 22L, 22L, 23L,
23L, 23L, 23L, 24L, 24L, 24L, 24L, 25L, 25L, 25L, 25L, 26L, 26L,
26L, 26L, 27L, 27L, 27L, 27L, 28L, 28L, 28L, 28L, 29L, 29L, 29L,
29L, 30L, 30L, 30L, 30L, 31L, 31L, 31L, 31L, 32L, 32L, 32L, 32L,
33L, 33L, 33L, 33L, 34L, 34L, 34L, 34L, 35L, 35L, 35L, 35L, 36L,
36L, 36L, 36L, 37L, 37L, 37L, 37L, 38L, 38L, 38L, 38L, 39L, 39L,
39L, 39L, 40L, 40L, 40L, 40L, 41L, 41L, 41L, 41L), .Label = c("789331",
"796882", "805933", "826523", "827911", "830271", "831487", "832929",
"834598", "836364", "838607", "839802", "841903", "843618", "852125",
"855524", "873527", "876406", "879972", "885409", "885650", "888712",
"894218", "903303", "928026", "932196", "952797", "955389", "956952",
"957206", "957759", "959200", "962490", "965873", "967416", "968728",
"969005", "971179", "975424", "976863", "981621"), class = "factor"),
Question = c("Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10", "Q10",
"Q10", "Q10", "Q10", "Q10"), Type = c("SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR", "SNR",
"SNR", "SNR", "SNR", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS",
"FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS", "FYS"),
College = c("CBS", "CBS", "CBS", "CBS", "CA", "CA", "CA",
"CA", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS", "CBS",
"CBS", "CBS", "CBS", "CBS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CBS", "CBS",
"CBS", "CBS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CBS",
"CBS", "CBS", "CBS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"OAC", "OAC", "OAC", "OAC", "CBS", "CBS", "CBS", "CBS", "CSAHS",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CBS", "CBS", "CBS", "CBS", "CPES", "CPES", "CPES", "CPES",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "CBS", "CBS", "CBS",
"CBS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CSAHS", "CSAHS", "CPES", "CPES", "CPES", "CPES", "N/A",
"N/A", "N/A", "N/A", "CBS", "CBS", "CBS", "CBS", "CSAHS",
"CSAHS", "CSAHS", "CSAHS", "CBS", "CBS", "CBS", "CBS", "CBS",
"CBS", "CBS", "CBS", "CBE", "CBE", "CBE", "CBE", "CSAHS",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CBE", "CBE", "CBE", "CBE", "CSAHS", "CSAHS", "CSAHS", "CSAHS",
"CBE", "CBE", "CBE", "CBE", "CPES", "CPES", "CPES", "CPES",
"CSAHS", "CSAHS", "CSAHS", "CSAHS", "OAC", "OAC", "OAC",
"OAC", "CBE", "CBE", "CBE", "CBE", "CBE", "CBE", "CBE", "CBE",
"CBE", "CBE", "CBE", "CBE"), Bin = c("Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4",
"Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4",
"Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4",
"Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4",
"Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4",
"Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3",
"Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2",
"Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 1",
"Bin 2", "Bin 3", "Bin 4", "Bin 1", "Bin 2", "Bin 3", "Bin 4"
), Week = c("Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5", "Jan25-Feb 1", "Feb 8- Mar 1", "Mar 8- Mar 22",
"Mar 29-Apr 5"), Rating = c(0, -1, -1, -0.5, 0, -1, -4, -2,
-1, -1.6666667, -2, -2, 0, -0.3333333, -1, -1, 0, -0.3333333,
-1, -1, 0, -0.3333333, 0, 0, -1, -0.3333333, 0, -0.5, 0,
0, 0, 0, -1, -1, -1, -1, 0, -0.3333333, -0.3333333, -0.5,
0, -0.3333333, -0.6666667, -1, 0, -1, -1, -1, 1, 1, 0.6666667,
1, 1, 0, -0.3333333, -0.5, 0, 0, 0, 1, 0, -0.6666667, -0.3333333,
-1, 0, 0, 0, 0.5, 0.5, -1, -1.3333333, -0.5, 0.5, 0.6666667,
1, 1, 0, -0.6666667, -2, -1.5, 1.5, 0.3333333, 0.3333333,
0, -1, -1, -1.3333333, -1.5, -1, -0.3333333, 0, 1, 1, 0,
0.6666667, 1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0.3333333, 0, 0, 0, 1.6666667, 2, 0.5, 0, 0, 0, 0, -0.6666667,
-2, -0.5, 1, 0.3333333, -1, -1, 1, 0.3333333, 0, 1, 0, -1,
-3.6666667, -3, 0, 0, 0.6666667, 1, 0, -0.3333333, -1.3333333,
-2.5, 0, 0, 0, 0, 1, 1, 1.6666667, 2, -1, -1, -1, -1, 2,
0, 0, 0, 0, -0.3333333, -2, -2)), .Names = c("StudentFactor",
"Question", "Type", "College", "Bin", "Week", "Rating"), row.names = c(NA,
-164L), class = c("tbl_df", "tbl", "data.frame"))
答案 0 :(得分:0)
以下是您的解决方案:
Q10$Week <- gsub(" ", "", Q10$Week, fixed = TRUE)
Q10$Week <- factor(Q10$Week, ordered = TRUE, levels = c("Jan25-Feb1", "Feb8-Mar1", "Mar8-Mar22", "Mar29-Apr5"))
问题是列周的数据格式不正确!即使是相同的因子/值,您也有太多的空白区域和不同的位置。例如,在您的数据中,您有一个值:"Feb 8- Mar 1"
,但您设置的级别为"Feb 8-Mar 1"
,这是不正确的(在-
签到数据后有空格)。 ..无论如何,我的解决方案是使用gsub
函数删除列Week中的所有空格并进一步排序数据。
使用正确的fomratted数据和你的ggplot代码:
label1 <- data.frame( x = 1, y = 4, label = "")
label2 <- data.frame( x = 2, y = -4, label = "")
ggplot(data = Q10, mapping = aes(y = Rating, x = Week, group= StudentFactor, colour=StudentFactor))+
geom_point()+
geom_line()+
geom_smooth(method = 'loess', colour= "black", aes(group=1), se= FALSE)+
theme(legend.position="none") +
labs (x= "Date", y="Q10 Percieved Ability to Manage Workload")+
geom_text(data = label1, aes(x = x, y = y, label = label), inherit.aes = FALSE)+
geom_text(data = label2, aes(x = x, y = y, label = label), inherit.aes = FALSE)
我得到了这个格式有序的x轴: