一連の数値のプロットを作成し、回帰直線を追加する関数を書きたいと思います。今のところ、まだプロットを作成できますが、プロットでエラーが発生するか、何らかの Null 応答が発生します。
null を返さない回帰直線のない関数は次のようになります。
fun<-function(){
+ x<-c(1,2,3,4,5)
+ y<-c(1,2,3,4,5)
+ LR<-lm(x~y)
+
+ return(plot(x,y))
+ }
> fun()
結果としてプロットだけでナイス・アンド・プリティ
回帰直線をプロットに追加すると、プロットは表示されますが、null 応答も返されます
> fun<-function(){
+ x<-c(1,2,3,4,5)
+ y<-c(1,2,3,4,5)
+ LR<-lm(x~y)
+ p<-plot(x,y)
+ a<-abline(LR)
+ return(p)
+ }
> fun()
NULL
またはエラー
> fun<-function(){
+ x<-c(1,2,3,4,5)
+ y<-c(1,2,3,4,5)
+
+ LR<-lm(x~y)
+
+ p<-plot(x,y)
+ a<-abline(LR)
+
+ return(p,a)
+ }
> fun()
Error in return(p, a) : multi-argument returns are not permitted
または 2 つのヌル
> fun<-function(){
+ x<-c(1,2,3,4,5)
+ y<-c(1,2,3,4,5)
+
+ LR<-lm(x~y)
+
+ p<-plot(x,y)
+ a<-abline(LR)
+
+ return(list(p,a))
+ }
> fun()
[[1]]
NULL
[[2]]
NULL
これがとてつもなくうるさいと思われる場合は申し訳ありませんが、実際のデータセットでは醜くなる可能性があります。