【问题标题】:How to do dbGetQuery for loop in R如何在 R 中执行 dbGetQuery for 循环
【发布时间】:2015-07-23 09:30:49
【问题描述】:

我有三个变量 a,b,c(在我的例子中实际上超过 300 个变量)

t<-c(a,b,d)

a<-dbGetQuery(con, "SELECT * FROM a")
b<-dbGetQuery(con, "SELECT * FROM b")
d<-dbGetQuery(con, "SELECT * FROM d")

如何在 R 中创建循环以从 MySQL 请求数据?现有问题没有关于如何将其写入变量名的解释。我的环境中需要 a,b,c。

【问题讨论】:

  • @zx8754 现有问题无法解决我的问题。
  • @zx8754 无法连接测试链接,但希望你能连接。 con2 &lt;- dbConnect(MySQL(), user="a2909885_aawin", password="test1234", dbname="a2909885_aastock", host="mysql10.000webhost.com")(表)变量分别为H0001、H0002、H0009

标签: mysql r


【解决方案1】:

未经测试,但以下内容应该可以工作。

myTables <- c("a","b","c")

res <- lapply(myTables,
              function(myTable){
                sqlStatement <- paste("select * from",myTable)
                dbGetQuery(con, sqlStatement)
              })
names(res) <- myTables

【讨论】:

  • 即使没有发出错误警告也无法正常工作。另外,我发现 res 存储了数据...但是我不想要这个结果...
  • 很遗憾我们无法测试代码,因为我们没有数据库。关于res 列表输出,您宁愿拥有 300 个变量,为什么?最好将其保留为列表,这样我们就可以以 res$a 的身份访问它,以获取来自表 a 的结果。
  • 我知道我可以从 res$a 访问 a。我刚刚找到“分配”,但我不知道如何使它适用于我的情况...stackoverflow.com/questions/2679193/…
猜你喜欢
  • 2013-02-12
  • 2019-03-23
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 2021-04-13
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多