1

データフレーム内の異なる列で colMeans を計算するいくつかのテーブルを作成しようとしています。関数は正常に動作しますが、名前付けに問題があります。

function.test<-function(a,b,df)
  {for (i in a:b) 
     write.table(
      as.data.frame(
        lapply(
          split(df, df[,i]), colMeans)
        ),
      file=paste("E:\\R\\Outputs\\colMeans",deparse(i),deparse(df),".csv"
             ),
      sep=",",row.names=T,col.names=NA
      )
   }

「i」のみの逆解析は正常に機能しますが、「df」の逆解析は機能しません。次のエラー メッセージが表示されます。

   Error in file(file, ifelse(append, "a", "w")) : 
   invalid 'description' argument
   In addition: Warning message:
   In if (file == "") file <- stdout() else if (is.character(file)) { :
     the condition has length > 1 and only the first element will be used

「i」はループで変化し、dfは常に同じままであるため、そのようなものだと思います。i と df を使用して名前を付ける方法を知っている人はいますか。そうでない場合は、データフレームごとに個別の関数を作成する必要があり、それは多くのコードになります...

4

1 に答える 1

0

今回は試行錯誤が役に立ちました:

deparse(i),deparse(substitute(df))  
于 2013-01-14T13:50:18.403 に答える