下面是我的腳本的修剪版本。我希望我的函數將每個循環迭代返回給我一個列表,以便我可以刪除所有列表以形成新的數據框,但是當我執行此腳本時,我不斷收到錯誤:從函數內返回數據幀的列表,以使用do.call()應用rbind()
做的。 call(「rbind」,listofdfs):object'listofdfs'找不到
謝謝大家的幫助。
library(DBI)
library(RPostgreSQL)
drv<- dbDriver("MyDataBase")
con<-dbConnect(drv,dbname="DB_Name",
host="DB_Location",port=number,user="MyName",password= "Password")
dates <- seq(as.Date(as.character(Sys.Date() - 33)), as.Date(as.character(Sys.Date() - 1)), by=1)
my_function<-function(dates){
listofdfs<-list()
for(i in 1:length(dates){
data<-dbGetQuery(con, sprintf("select X,Y,Z from TABLE where date>=date('%s')", dates[i])
data$newColumn<-mean(data$X)
listofdfs[[i]]<-data
}
return(listofdfs)
}
df<-do.call("rbind", listofdfs)
我有一個小簡化示例指,請從上面
my_list_function<-function(dates){
for(i in 1:length(dates))
{
my_list<-list()
my_list[[i]]<-i
}
return(my_list) }
k<-do.call(rbind,my_list(dates))
View(k)
現在運行 do.call(rbind,my_list(日期)) 指日期可變返回錯誤找不到函數「my_list」並正在運行do.call(rbind,my_list_function(日期))工作但只給33。
再次感謝您的幫助。
這樣不是需要成爲'df <-do.call(「rbind」,listofdfs(日期))'? –
@ 42 -...這會拋出錯誤*無法找到函數listofdfs * ... –
應該是該函數的名稱。 –