如何创建一个循环函数,通过使用不同的SQL查询创建数据框架

时间:2015-04-21 12:16:42

标签: r function loops

我尝试创建一个循环,它将通过使用具有相同名称的不同sql查询来创建数据帧。例如,这里是第1天的查询名称:SF_2013_Day1_BaseLine这个是第6天:SF_2013_Day6_BaseLine。我写了这段代码(下面),但是我收到了一个错误:Error: unexpected ',' in "for(i in 3,"。所以我知道怎样才能使这段代码生效? 谢谢

for (i in 1,3,6,10,14,21,30) {
    SF_FinalviewQ3_2013_Day[i]_BaseLine<-sqlQuery(DB,"select * from [SF_2013_Day[i]_BaseLine]");
    dim(SF_Day[i]_BaseLine)}

基于@Pgibas edvice对此代码进行更改后:

 for (i in c(1,3,6,10,14,21,30)) {
        SF_FinalviewQ3_2013_Day[i]_BaseLine<-sqlQuery(DB,"select * from [SF_2013_Day[i]_BaseLine]");
        dim(SF_Day[i]_BaseLine)}

我收到了这个错误:Error: unexpected input in "for(i in c(3,6)){glm_d[i]_"。我该怎么做才能解决问题?

1 个答案:

答案 0 :(得分:1)

您需要先在名称中解析i

for (i in c(1,3,6,10,14,21,30)) {
  set <- sqlQuery(DB, paste0("select * from [SF_2013_Day[", i, "]_BaseLine]"))
  eval(parse(text = paste0("SF_FinalviewQ3_2013_Day", i, "_BaseLine <- set"))
  dim(set)
}