我有一个正常工作的R函数,该函数可以查询服务器数据库并按预期返回结果,但是它只是将结果打印到控制台,并且我想将结果存储为数据框对象。
我尝试了下面的代码
params <- function(
BEG = '201801',
END = '201802') {
con <- dbConnect(odbc::odbc(), dsn = DSN)
data <- odbc::dbSendQuery(con, " SELECT A BUNCH OF DATA
FROM some_tables where everything is what I want")
odbc::dbBind(data, list(BEG, END))
odbc::dbFetch(data) -> test
er_vists <- as.data.frame(return(test))
}
params()
一切正常,我只是想不出如何将结果保存到数据框。这是否需要在功能之外进行?任何帮助或可能解决方案的链接都将不胜感激。
答案 0 :(得分:3)
据我所知,您的功能正常运行。
只需修改函数的最后一行,即可将输出保存到这样的变量中:
params <- function(BEG = '201801', END = '201802') {
con <- dbConnect(odbc::odbc(), dsn = DSN)
data <- odbc::dbSendQuery(con, " SELECT A BUNCH OF DATA
FROM some_tables where everything is what I want")
odbc::dbBind(data, list(BEG, END))
odbc::dbFetch(data) -> test
return(as.data.frame(test))
}
mydata <- params()
mydata
mydata <- params()