我目前正在尝试使用i
将多个SQL表加载到R Studio中,该表被描述为chr [1:36],元素之间用空格分隔,并且正在使用以下命令:
for (i in tables){
assign(i, sqlQuery(dbconnection, paste("select * from ", i, ";")))
}
此处的目标是使用SQL Server上的表名作为数据框的名称将SQL表加载到R中。
我不断收到以下错误消息:
在assign(i,sqlQuery(dbconnection,paste(“ select * from”,i,“;”))))中:
仅第一个元素用作变量名
当然,在我的数据环境中仅加载了第一个SQL表。有人可以帮忙吗?
答案 0 :(得分:0)
应避免使用帮助您使用assign()
的建议。不好的做法是会在以后使用难以创建和维护的代码。
使用列表基本上总是更好。
#Creates a named list the length of the number of tables
table_list <- setNames(vector("list",nrow(tables)),tables$TABLE_NAME)
for (i in tables$TABLE_NAME){
#Put each table in the list, one by one
table_list[[i]] <- sqlQuery(dbconnection,paste("select * from ", i, ";"))
}