2013-08-07 11 views
8

ggplot2用のカスタムStatオブジェクトを作成したいと思います。 (具体的にはモデリング機能なしでstat_smoothが許すものとは違ったやり方で動作するような滑らかなものを作りたいと思いますが、特定のケースの回避策があっても作成したいと思う他のカスタム統計があります)。私はthis suggested solution from Hadley Wickhamを見つけggplot2でカスタムStatオブジェクトを作成する

StatExpo <- proto(Stat, { 
    objname <- "expo" 
    desc <- "Exponential smoothing" 
    default_geom <- function(.) GeomLine 

    calculate_groups <- function(., data, scales, variable="x", ...) { 
    data$y <- HoltWinters(data$x, ...) 
    } 
}) 
stat_expo <- StatExpo$new 

しかし、私はそれをしようとすると、私が手:

Error in proto(Stat, { : object 'Stat' not found 

ggplot code周りを見ている時に、私はwhere Stat is definedを見つけました。しかし、Statのオブジェクトは、私が知る限り、never exported from ggplot2です。

ggplot2/Rフォルダに新しいstatオブジェクトを書き込んでからパッケージを再インストールすることはできますが、明らかにこれは面倒であり、ソリューションを他の人と共有するのが非常に困難になります。 ggplot名前空間の外にカスタムStatオブジェクトを作成するにはどうすればよいですか?

+0

'ggplot2 ::: Stat' help? – baptiste

+0

@baptisteいいえ、 'エラー:' Stat 'は' namespace:ggplot2''からエクスポートされたオブジェクトではありません。それはあなたのために働くのですか? –

+0

それは3つの ':::' – baptiste

答えて

4

ggplot2:::Statは、エクスポートされていないオブジェクトにアクセスするために使用できます。

+2

Needing :::残念ながら、CRANに提出されるパッケージにユーザ定義関数が含まれないようにします。 CRANチェックは:::を許可しません。 –

1
getFromNamespace('Stat','ggplot2') 
関連する問題