2017-05-30 11 views
1

次のコードを使用してグラフを作成しています:my graphX軸の離散変数の順序を変更する--R

#Labels 
    label1 <- data.frame(x = 2, y = 2, Type = "FYS", label = "N=15") 
    label2 <- data.frame(x = 2, y = 2, Type = "SNR", label = "N=24") 

# make graph 
ggplot(data = Q, mapping = aes(y = Rating, x = weeks, group= StudentFactor, colour=StudentFactor))+ 
    geom_point()+ 
    geom_line()+ 
    facet_grid(Type ~.)+ 
    geom_smooth(method = 'lm', formula = y ~ poly(x), colour= "black", aes(group=1), se= FALSE)+ 
    theme(legend.position="none") + 
    labs (x= "Date", y="Students' Average Engagement over Time")+ 
    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= weeksを使用する代わりに、x=timePeriodを使用すると、ポイントを順番に並べ替えることができますが、ラベルは間違っている可能性があります。 私は

df$weeks <- factor(df$weeks, order=TRUE, levels=weeks) 

、数週間のレベルを注文するために、次のコードを追加しようとしているが、私はobject of type 'closure' is not subsettableを言ってエラーを取得しておきます。

私は下の私のデータを添付している:私はちょうど一週間列の形式を変更し

> dput (Q) 
structure(list(StudentFactor = structure(c(1L, 3L, 4L, 8L, 11L, 
13L, 14L, 15L, 18L, 19L, 21L, 22L, 24L, 30L, 31L, 32L, 36L, 38L, 
27L, 34L, 35L, 1L, 3L, 4L, 8L, 11L, 13L, 14L, 18L, 19L, 21L, 
22L, 24L, 2L, 5L, 6L, 7L, 9L, 10L, 12L, 16L, 17L, 20L, 23L, 25L, 
26L, 28L, 29L, 30L, 31L, 32L, 33L, 36L, 37L, 38L, 40L, 41L, 34L, 
39L, 1L, 3L, 4L, 8L, 11L, 13L, 14L, 15L, 18L, 19L, 21L, 24L, 
2L, 5L, 6L, 7L, 9L, 10L, 12L, 16L, 17L, 20L, 23L, 25L, 28L, 30L, 
31L, 33L, 36L, 37L, 38L, 40L, 41L, 34L, 35L, 39L, 1L, 3L, 4L, 
8L, 11L, 14L, 15L, 18L, 21L, 22L, 24L, 2L, 6L, 7L, 9L, 10L, 12L, 
16L, 17L, 20L, 23L, 31L, 33L, 36L, 37L, 40L, 27L, 34L, 1L, 3L, 
4L, 8L, 11L, 13L, 14L, 15L, 18L, 19L, 21L, 22L, 2L, 5L, 6L, 7L, 
9L, 10L, 12L, 16L, 17L, 20L, 23L, 28L, 30L, 31L, 32L, 33L, 36L, 
38L, 41L, 27L, 34L, 35L, 1L, 3L, 4L, 11L, 14L, 15L, 18L, 19L, 
21L, 22L, 24L, 2L, 5L, 6L, 9L, 10L, 12L, 16L, 20L, 23L, 29L, 
30L, 31L, 32L, 33L, 36L, 38L, 41L, 27L, 34L, 35L, 1L, 3L, 11L, 
13L, 14L, 15L, 18L, 19L, 21L, 22L, 24L, 2L, 6L, 7L, 9L, 10L, 
12L, 16L, 17L, 20L, 23L, 28L, 29L, 30L, 31L, 36L, 37L, 38L, 40L, 
41L, 27L, 34L, 35L, 39L, 1L, 3L, 4L, 11L, 13L, 14L, 15L, 18L, 
19L, 21L, 22L, 24L, 2L, 7L, 10L, 12L, 16L, 17L, 20L, 28L, 29L, 
30L, 31L, 32L, 33L, 36L, 37L, 38L, 40L, 41L, 27L, 34L, 35L, 1L, 
11L, 13L, 14L, 18L, 19L, 21L, 22L, 24L, 2L, 6L, 7L, 10L, 12L, 
16L, 28L, 30L, 31L, 33L, 36L, 34L, 1L, 4L, 14L, 15L, 18L, 19L, 
21L, 22L, 24L, 2L, 7L, 9L, 10L, 12L, 16L, 17L, 20L, 23L, 29L, 
30L, 31L, 32L, 33L, 36L, 37L, 40L, 41L, 27L, 34L, 39L, 1L, 3L, 
4L, 11L, 13L, 14L, 15L, 18L, 22L, 24L, 2L, 6L, 7L, 9L, 10L, 12L, 
16L, 17L, 20L, 23L, 30L, 31L, 36L, 37L, 38L, 41L, 27L), .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"), 
    Type = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("FYS", "SNR"), class = "factor"), 
    weeks = structure(c(5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Apr5", 
    "Feb1", "Feb15", "Feb8", "Jan11", "Jan25", "Mar1", "Mar15", 
    "Mar22", "Mar29", "Mar8"), class = "factor"), timePeriod = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
    3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
    4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
    9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
    11L), class = "factor", .Label = c("Rt1", "Rt2", "Rt3", "Rt4", 
    "Rt5", "Rt6", "Rt7", "Rt8", "Rt9", "Rt10", "Rt11")), Rating = c(3.6, 
    4.8, 4.4, 3.8, 5, 3.2, 4.4, 3.2, 3.6, 3.8, 4, 4.4, 3.6, 4, 
    3.8, 3, 3.6, 4.4, 3.6, 3.4, 4.2, 3.8, 4, 4.2, 3.8, 5, 4.2, 
    4.4, 4, 3.8, 4.4, 4, 3.8, 4.4, 4.2, 4.6, 4.4, 5, 4, 3.4, 
    5, 3.8, 4.8, 4.4, 4.6, 3.2, 5, 4.2, 4.4, 4.4, 3.4, 3.8, 3.8, 
    3.6, 4.8, 4.4, 4.8, 4.75, 4, 4, 4, 4.2, 3.8, 5, 4.2, 4.6, 
    3.8, 4.2, 3.8, 4, 4.6, 4, 3.6, 4.8, 4.2, 3.8, 4, 2, 4.6, 
    3.8, 4.6, 4.4, 4.8, 4.6, 4, 4.4, 4.2, 3.6, 4.6, 4.4, 5, 4.6, 
    5, 4.2, 3.4, 4.2, 3.6, 4.4, 4, 5, 4.4, 4, 4, 4, 4.2, 4, 4, 
    5, 4.6, 4, 4, 1.8, 4.6, 4.2, 4.8, 4.6, 4.4, 4.2, 3.4, 4.4, 
    3.8, 4, 5, 3.4, 3.2, 4.6, 3.6, 5, 3.6, 4.4, 3.8, 4, 4, 4.2, 
    4.4, 2.8, 3.4, 5, 4.4, 4.2, 3.6, 4.2, 4.2, 4, 4.4, 5, 4, 
    4, 3.8, 3.2, 4.2, 3.4, 4.4, 5, 4.4, 4, 4.2, 2.4, 3.2, 4.6, 
    4.4, 4.4, 3.6, 2.4, 4.2, 4, 4.4, 3.4, 3.6, 3.4, 4.4, 4, 3.2, 
    2.2, 4.4, 4.4, 5, 3.2, 4.4, 4, 3, 4.6, 3, 4.25, 4.2, 3.6, 
    3.8, 4.4, 3, 3.2, 4.2, 4, 4.4, 3.6, 2.8, 4, 4.4, 4.6, 3.8, 
    2.8, 4.8, 4.2, 4, 3.6, 3, 4.8, 4.2, 4.2, 5, 4.4, 4.4, 4, 
    3.2, 1, 4.4, 4.2, 3.6, 3.8, 4, 1.4, 4.6, 2.8, 3.2, 3.2, 4.6, 
    4.4, 3.4, 4.2, 4, 3.8, 4, 4.2, 3.8, 3.6, 1.4, 4.6, 3.6, 4.2, 
    4, 4.4, 4.4, 4.6, 4.2, 4.2, 3.2, 4, 3.6, 3, 4.6, 4.8, 3.6, 
    4.2, 4.2, 2.2, 5, 3.2, 3.8, 4.2, 3.6, 3, 4, 3.8, 4.2, 3.8, 
    2.2, 5, 4.8, 3.4, 2.8, 5, 4.4, 4, 3, 1, 3, 1.6, 3.6, 4.2, 
    4, 3.4, 3.2, 4, 4, 4, 3.6, 2, 4.4, 4, 3.4, 1.8, 4.2, 3.8, 
    3.8, 4, 4.2, 3.8, 4.2, 4.2, 3.2, 1.6, 4.6, 4, 5, 4, 3.4, 
    3.6, 4, 3.2, 4.2, 3.6, 4.6, 4.4, 4.6, 4.2, 4.6, 4.6, 4.2, 
    5, 4.6, 4.2, 4, 4, 4.6, 4.4, 3.6, 5, 4.4, 4.6, 1.6, 4.6, 
    5, 5, 4)), class = "data.frame", row.names = c(NA, -333L), .Names = c("StudentFactor", 
"Type", "weeks", "timePeriod", "Rating")) 
+0

'因子(Q $週間、レベル= cで( "Jan11"、 "Jan25"、 "Feb1"、 "Feb8"、 "Feb15"、 "MAR1"、 "Mar8"、 "Mar15"、 "Mar22"、 "Mar29"、 "Apr5")) – bouncyball

答えて

0

。それはあなたのために働くのですか?

newdate <- as.Date(Q[, 3], "%b%d") 
newdate <- strftime(newdate,"%m %d") 
QQ <- cbind(Q, newdate) 
ggplot(data = QQ, mapping = aes(y = Rating, x = factor(newdate), group= StudentFactor, colour=StudentFactor))+ 
    geom_point()+ 
    geom_line()+ 
    facet_grid(Type ~.)+ 
    geom_smooth(method = 'lm', formula = y ~ poly(x), colour= "black", aes(group=1), se= FALSE)+ 
    theme(legend.position="none") + 
    labs (x= "Date", y="Students' Average Engagement over Time")+ 
    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) 

There is no more errors

+0

こんにちは!はい、動作します。可能であれば、日付(つまり、Jan11)を使用することをお勧めしますが、そうでない場合、これは仕事をします! – Bailey

関連する問題