-3

私は R とプログラミング全般に比較的慣れていないため、私の質問は経験不足と不可解なエラー メッセージが原因である可能性があります。私はかなりの量の調査と plyr パッケージのさまざまなバージョンの適用と機能の実験を行いました。私の質問の根本は、データ フレーム内のセルの値を関数の引数として提供する方法です。サンプルデータを提供するために最善を尽くします。

R で調査データを操作しているため、多くの列と行を持つデータ フレームがあります。一部のデータを処理するカスタム関数を作成しました。最初に関数のスクリプトを実行して、RStudio のワークスペースに読み込まれるようにします。この関数には 2 つの引数があります。

myfunction <- function(id, info){
  # various data processing
}

myfunction は何も返しません。実際のデータを使用すると、いくつかの .CSV が出力されるので、そこから何も取得する必要はありません。すべての行の値を使用して実行するだけで済みます。

この例のために、私のデータ フレーム (mydata と呼ばれる) には 2 つの列しかないとします (実際、ソリューションに必要な場合は、プロセス全体でこれらの 2 つの列だけにサブセット化できます)。

ID Gender
 1    M
 2    F
 3    F
 4    M

私がやりたいことは、R が各行を通過し、myfunction の 2 つの引数としてセルの値を提供することです。

# So for the first row, it should do
myfunction("1", "M")
# And the second:
myfunction("2", "F")

私が得た最も近いものはこれです:

a_ply(mydata, c(1,2), print)
  ID
1  1
2  2
3  3
4  4
  Gender
1   M
2   F
3   F
4   M

これは正しい方向にあるように見えますが、myfunction を a_ply に入れるたびに、思い通りに動作させることができません。次のエラー メッセージが表示されます。

Error in eval(expr, envir, enclos) : object 'X' not found
## Which I believe is actually an error from myfunction, which would mean the
## ID value is not passing through to it correctly

または、その a_ply コマンドのさまざまなバージョンで遊んでいるときに、次のエラーが発生します。

Error in file(file, "rt") : invalid 'description' argument

これまでのところ、ここまでドキュメントや他の多くの投稿を読むことができましたが、これを説明するものは何も見つからないようです。

4

1 に答える 1

0

(質問を完了して閉じるため):

apply(mydata,1, function(x) myfunction(x[1],x[2]))
于 2013-07-18T18:21:10.330 に答える