2013-06-19 2 views
0

Итак, я передаю аргумент в свой R-скрипт. Затем я использую аргумент как часть моей логики, чтобы назвать таблицу результатов SQL, которую я позже собираюсь заполнять и создавать с помощью данных. Сначала я сделаю следующее и заполните DestinationTable именем таблицы, которую я хочу.Проблема с использованием строки R

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

После этого я запускаю печать (DestinationTable), и все выглядит нормально. Тогда, когда я делаю sqlSave как ниже него буквально использует «DestinationTable» в качестве имени таблицы, а не строки, я положил в DestinationTable (например, «xx.TableNameArg4»)

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

Как я могу получить значение, хранящееся в DestinationTable и использовать это, а не использовать буквальное слово «DestinationTable»?

Спасибо за помощь!

ответ

3

Я считаю, что вы неправильно поняли, что происходит, когда вы пишете data.frame (DestinationTable). Давайте посмотрим пример здесь:

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

В основном вы получаете объект data.frame с колонкой под названием DestinationTable (ваше имя переменного) с одной строкой, содержащей «MyTable» (переменное значение).

То, что вы, вероятно, нужно сделать, это использовать параметр имя_таблицы в sqlSave, следующим образом:

sqlSave(ch, data, tablename=DestinationTable) 

Это предполагает, что есть data.frame называется «данные» с фактическими данными вы хотите записать в таблицу ,

Смежные вопросы