0

そのため、R スクリプトに引数を渡しています。次に、この引数をロジックの一部として使用して、後でデータを入力して作成する SQL 結果テーブルに名前を付けます。最初に以下を実行し、目的のテーブルの名前を DestinationTable に入力します。

DestinationTable <- paste("xx.TableName",args[4],sep = "")

これを行った後、print(DestinationTable) を実行すると、すべて問題ないように見えます。次に、以下のような sqlSave を実行すると、DestinationTable に入力した文字列 (「xx.TableNameArg4」など) ではなく、文字通り「DestinationTable」がテーブル名として使用されます。

sqlSave(ch, data.frame(DestinationTable), rownames = FALSE)

DestinationTable に保存されている値を取得し、それを文字通りの単語「DestinationTable」を使用するのではなく使用するにはどうすればよいですか?

助けてくれてありがとう!

4

1 に答える 1

3

data.frame(DestinationTable) と書くと何が起こるかを誤解していると思います。ここで例を見てみましょう:

> DestinationTable = "myTable"
> data.frame(DestinationTable)
  DestinationTable
1          myTable

基本的に、「myTable」(変数値) を含む単一の行を持つ DestinationTable (変数名) という列を持つ data.frame オブジェクトを取得します。

おそらく行う必要があるのは、次のように、sqlSave で tablename パラメーターを使用することです。

sqlSave(ch, data, tablename=DestinationTable)

これは、テーブルに書き込む実際のデータを含む「data」という data.frame があることを前提としています。

于 2013-06-19T17:45:09.677 に答える