0
調試R腳本我遇到了一個奇怪的錯誤:「調試(fun,text,condition)中的錯誤:參數必須是閉包」。 PC功能:Win7/64位,Oracle客戶端12(包括32位和64位),R(64位)無法調試R中的函數
早期腳本調試良好,沒有錯誤。我在Inet中尋找線索,但沒有找到明確的解釋錯誤是什麼以及如何刪除它。 以純腳本運行腳本而不是函數不會產生錯誤。
我將是你的想法非常感謝
源腳本(連接到Oracle數據庫,並執行一個簡單的查詢)如下(conects到Oracle數據庫執行查詢:
download1<-function(){
if (require("dplyr")){
#install.packages("dplyr")
}
if (require("RODBC")){
#install.packages("RODBC")
}
library(RODBC)
library(dplyr)
# to establish connection with DB or schema
con <- odbcConnect("DB", uid="ANALYTICS", pwd="122334fgcx", rows_at_time = 500,believeNRows=FALSE)
# Check that connection is working (Optional)
odbcGetInfo(con)
# Query the database and put the results into the data frame "dataframe"
ptm <- proc.time()
x<-sqlQuery(con, "select * from my_table")
proc.time()-ptm
# to extract all field names to the separate vector
#field_names<-sqlQuery(con,"SELECT column_name FROM all_tab_cols WHERE table_name = 'MY_TABLE'")
close(con)
}
debug(download1(),text = "", condition = NULL)
@vck是正確的,你需要寫'debug(download1)'而不是debug(download1())。原因是你想要傳遞函數對象到方法中函數調用arantheses)而不是函數的返回值。在你的代碼中,download1()被執行,然後返回值(它沒有)被傳遞給調試方法。更多關於調試:http://blog.haunschmid.name/debugging-in-r/ –