2017-02-27 25 views
1

我正在嘗試跟蹤腳本/ ChickWeight上的示例,繪製「獨立組T間隔測試」中的原始數據,但一直運行到以下錯誤stat_summary功能stat_summary的計算失敗,'什麼'必須是字符串或函數

代碼到這裏重現:

library(datasets) 
data(ChickWeight) 

library(ggplot2) 
g <- ggplot(ChickWeight, aes(x = Time, y = weight, 
         colour = Diet, group = Chick)) 
g <- g + geom_line() 

g <- g + stat_summary(aes(group = 1), geom = "line", fun.y = mean, size = 1, color = "black") 

g <- g + facet_grid(. ~ Diet) 

Error message:
"Computation failed in stat_summary() :
'what' must be a character string or a function"

錯誤消息是不是很直觀,我甚至不看「什麼」作爲stat_summary文檔中設置了一個param,我做了一些researc h並檢查他人的答案,但到目前爲止沒有具體的答案或解決這個問題。

+3

它工作正常的我。但是,在你打給stat_summary的電話中,aes(group = 1)是什麼意思? – Dason

+2

如果我複製/粘貼到R,我不會得到同樣的錯誤,你做。你有沒有嘗試從新的R課程? – MrFlick

+1

您使用的是哪個版本的'ggplot2'?在版本2.2.1中,您的代碼適用於我。 – Uwe

回答

0

感謝您對本帖子和other帖子的回覆。使用stat_summary創建平均條形圖時,我有類似的錯誤(如下)。我無法在以後重現錯誤。

OS:MacOS的塞拉利昂v10.12.3 RStudio:v1.0.136

錯誤: 「R ggplot警告消息:在計算失敗stat_summary(): '什麼' 必須是一個函數或字符串」

解決了: 我按照MrFlick的建議在此頁面刷新了R會話。因此我保存了該文件並關閉了RStudio。代碼在重新啓動RStudio後正常工作。

0

當試圖爲給定的連續變量繪製類別的摘要統計信息時,我得到了同樣的錯誤。我的問題是:

ggplot(data = diamonds) + 
    geom_pointrange(mapping = aes(x = cut, y = depth), 
       stat = "summary", 
       fun.ymax = max, 
       fun.ymin = min, 
       fun.y = median) 

函數在此處不作爲對象調用。嘗試字符串形式後,這工作對我來說:

ggplot(data = diamonds) + 
     geom_pointrange(mapping = aes(x = cut, y = depth), 
       stat = "summary", 
       fun.ymax = "max", 
       fun.ymin = "min", 
       fun.y = "median") 
0

這裏同樣的問題。

對我來說,關鍵還在於我需要字符串作爲參數。例如:

expBar + stat_summary(fun.y = "sum", geom = "bar", fill = "white", colour = "black") 

,而不是

expBar + stat_summary(fun.y = sum, geom = "bar", fill = "white", colour = "black") 

使它工作。

希望幫助,

rikojir

相關問題