2017-05-09 3 views
0

私がやることを混乱させてしまいます。"ダイレクトコード"とRコードの特定の "機能"の違い

これは、コード内で、詳細は重要ではない、と私は2つのオプション

第1持っている:それはある

aFunction <-function(dataname,xx,yy) 
     { 
     ggplot(dataname, aes(x=xx, y=yy)) + 
      geom_point(shape=1) + 
      geom_vline(xintercept = 0, linetype="dashed") + 
      geom_hline(yintercept = 0, linetype="dashed") + 
      geom_smooth(method='lm') + 
      facet_wrap(~ GROUP, scales="fixed", ncol=3) 
     } 

     aFunction(dta_fin,PVT_0610_Z,PVT_1115_Z) 

:Rでの関数によって使用される2つ目

ggplot(dta_fin, aes(x=PVT_0610_Z, y=PVT_1115_Z)) + 
     geom_point(shape=1) + 
     geom_vline(xintercept = 0, linetype="dashed") + 
     geom_hline(yintercept = 0, linetype="dashed") + 
     geom_smooth(method='lm') + 
     facet_wrap(~ GROUP, scales="fixed", ncol=3)  

を最初と2番目から同じグラフを得るのは自然ですが、私は2つのコードとは異なる数字を持っています。関数内からggplotを呼び出すときは)(aes_stringなければならない理由は?..........

+0

問題を再現できるようにいくつかのデータと最小限の例を提供できますか? – Nancy

+1

関数内で 'aes_string'を使用し、裸の名前の代わりに文字列を使用して列名を渡します – yeedle

答えて

0

何ですか:

aFunction <-function(dataname,xx,yy) 
     { 
     ggplot(dataname, aes_string(x=xx, y=yy)) + 
      geom_point(shape=1) + 
      geom_vline(xintercept = 0, linetype="dashed") + 
      geom_hline(yintercept = 0, linetype="dashed") + 
      geom_smooth(method='lm') + 
      facet_wrap(~ GROUP, scales="fixed", ncol=3) 
     } 

はとXXとYYに合格することを忘れないでください文字列を内部の関数に置き換えます。

aFunction(dta_fin,PVT_0610_Z,PVT_1115_Z) 
関連する問題