我有一個數據幀,如下所示:錯誤:沒有統計稱爲StatHline
variable=c("D","D","C","C","C","A","B","B","B","B")
value=c(80,100,70,68,65,45,33,31,36,32)
Count=as.integer(c(5,10,4,5,2,7,3,5,6,2))
mean=c(93.3,93.3,68.2,68.2,68.2,45,33.4,33.4,33.4,33.4)
sumVarVal=data.frame(variable=variable,value=value,Count=Count,mean=mean)
我可以使一個很好的曲線圖(其中,正方形的尺寸對應於觀察的計數與該特定的x值和y值),如下圖所示:
library(ggplot2)
ggplot(sumVarVal, aes(variable, value)) +
geom_point(aes(size = Count), pch=15) +
guides(fill=guide_legend(title="New")) +
theme(legend.background = element_rect(fill="gray90",
size=.5,
colour = "black"),
legend.text=element_text(size=rel(1.3)),
legend.title=element_text(size=rel(1.3), face="plain"),
legend.position="bottom",
axis.text = element_text(size=rel(1.3)),
axis.title = element_text(size = rel(1.3))) +
labs(x="Learning Outcome", y = "Percentage Grade")
然而,我曾經有額外的代碼片(在該語法的,讓我疊加的水平條上的每個的四個主題的端部),表明平均百分比等級。這些值存儲在df $均值中。下面是我使用的代碼:
ggplot(sumVarVal, aes(variable, value)) +
geom_point(aes(size = Count), pch=15) +
guides(fill=guide_legend(title="New")) +
theme(legend.background = element_rect(fill="gray90", size=.5, colour = "black"),
legend.text=element_text(size=rel(1.3)),
legend.title=element_text(size=rel(1.3), face="plain"),
legend.position="bottom",
axis.text = element_text(size=rel(1.3)),
axis.title = element_text(size = rel(1.3))) +
labs(x="Learning Outcome", y = "Percentage Grade") +
geom_errorbar(stat = "hline", width=0.6, colour = "blue", size = 1, aes(ymax=..y..,ymin=..y.., yintercept = mean))
隨着1.0.1
版本,這給:
隨着2.0.0
版本,現在導致一個錯誤:
Error: no stat called StatHline.
我知道這可能與ggplot2中最近的升級有關。我見過最近的其他評論(geom_errorbar - "No stat called StatHline")。但是,由於我的代碼圍繞着使用stat="hline"
,當我嘗試了一些這些建議時,我無法讓我的代碼也能正常工作。也許有什麼我不明白我的原始代碼,使我無法更新此問題?
編輯:我已經考慮到了一些建議,我目前使用此代碼:
ggplot(sumVarVal, aes(variable, value)) +
geom_point(aes(size = Count), pch=15) +
guides(fill=guide_legend(title="New")) +
theme(legend.background = element_rect(fill="gray90", size=.5, colour = "black"),
legend.text=element_text(size=rel(1.3)),
legend.title=element_text(size=rel(1.3), face="plain"),
legend.position="bottom",
axis.text = element_text(size=rel(1.3)),
axis.title = element_text(size = rel(1.3))) +
labs(x="Learning Outcome", y = "Percentage Grade") +
geom_errorbar(stat = "summary", fun.y = "mean", width=0.6, colour = "blue", size = 1, aes(ymax=..y..,ymin=..y.., yintercept = mean))
這給了我一個輸出看起來像這樣:
它似乎一些藍色的平均線不符合它們的值,正如最初在均值向量中給出的那樣。例如,對於變量「D」,它應該具有93.3的平均值,但藍色水平線似乎顯示爲90.0的值。這個效果在我的真實代碼中更加戲劇化(不是這個MWE)。任何想法可能導致這種差異?
沒有對象'sumVarVal'。在發佈之前請測試您的示例。 – 2016-01-13 05:47:45
'stat =「summary」,fun.y =「mean」'似乎有效。 – alistaire
謝謝@alistaire!對不起@Pascal;我需要記住在創建和測試我的MWE之前刪除所有的變量。 – luckButtered