2016-04-18 9 views
0

多くのパッケージには、plot(df)が特定の出力を生成するデータフレームが含まれています。例えば。コードが実際あろう場所nlmeトレリス(格子パッケージ)を用いてプロットを作成プロット上(ダイアライザー) 'ダイアライザーのデータフレームを含んでいる:データフレームのデフォルトプロット属性を設定する

dotplot(rate ~ pressure | Subject, data="Dialyzer") 

このためのコードは、データフレームの属性に含まれると思われます:誰でも私にガイドを教えたり、データフレームのデフォルトプロットを設定する方法についてのガイドを含めることができますか?

答えて

1

これは、オブジェクトのクラスによって決まります。 Dialyzer "data.frame"のクラスに注目してください。

> class(Dialyzer) 
[1] "nfnGroupedData" "nfGroupedData" "groupedData" "data.frame" 

あなたはプロットを呼び出すと、このクラスのエントリを通過し、plot.*方法を見つけようとします。最初に見つかったものが使用されます。すべてが失敗した場合、常にdata.frameがあります。

> methods("plot") 
[1] plot.acf*    plot.ACF*    plot.augPred*   plot.compareFits*  plot.data.frame*  
[6] plot.decomposed.ts* plot.default   plot.dendrogram*  plot.density*   plot.ecdf    
[11] plot.factor*   plot.formula*   plot.function   plot.gls*    plot.hclust*   
[16] plot.histogram*  plot.HoltWinters*  plot.intervals.lmList* plot.isoreg*   plot.lm*    
[21] plot.lme    plot.lmList*   plot.medpolish*  plot.mlm*    plot.nffGroupedData* 
[26] plot.nfnGroupedData* plot.nls*    plot.nmGroupedData* plot.pdMat*   plot.ppr*    
[31] plot.prcomp*   plot.princomp*   plot.profile.nls*  plot.ranef.lme*  plot.ranef.lmList*  
[36] plot.raster*   plot.shingle*   plot.simulate.lme*  plot.spec*    plot.stepfun   
[41] plot.stl*    plot.table*   plot.trellis*   plot.ts    plot.tskernel*   
[46] plot.TukeyHSD*   plot.Variogram*  

あなたが特定のメソッドを使用する場合は、例えば、plot.*を使用して明示的に呼び出すことができますplot.default

+0

おかげで、ローマは、あなたの答えを中心に検索した私はこれを見つけます。https://github.com/cran/nlme/blob/master/R/groupedData.Rそれは、データ・フレームはnlmeにグループ化する方法を指定します。 – Irenabyss

1

Rは、多型である。これは、同じ機能が異なるクラスのオブジェクトに対して異なる操作につながることを意味します。 plot()を多くの異なるタイプのオブジェクトに適用すると、それぞれに異なる種類のプロットが得られます。我々はprint()summary()および他の多くのために、例えば、同じことを言うことができます。

多態性は物事を覚えやすくします。関数はあなたに新しいものである場合には、単に関数の出力にplot()を実行してみてください。それはうまくいくでしょう。あなたがプログラマであれば、基本となるクラスのメカニズムは、そのの世話をするために、多型は、操作されているオブジェクトの種類を気にせずに、かなり一般的なコードを書くことができます。 plot()print(), のような多型を扱う関数は、genericと呼ばれます。一般的な関数が呼び出されたとき、Rは相対クラスのメソッドへの呼び出しを送信する:それは、特定のオブジェクトのクラスのために定義された関数へのコールを再ルーティングします。

関連する問題