2014-04-04 146 views
1

是否有任何方法將R中的已定義變量傳遞給sqldf包中的SQL語句?將R變量傳遞給sql語句

我有以下運行的代碼,我順利通過了「V」變量SQL SELECT語句如「$ V」

for (i in 1:50){ 
      v <- i+ 450 
      temp <- sqldf("select count(V1) from file_new where V1='$v' ") 
     } 

雖然它運行時,它會返回錯誤的結果。 [結果應該是1000,但是這個代碼返回0]。

因此,我認爲它沒有通過變量值。

+0

的sqldf主頁上見例5:https://code.google.com/p/sqldf/#Example_5._Insert_Variables –

回答

2

如果v是一個整數,那麼你不想用單引號括住$ v - 這使得它成爲一個字符串值。嘗試沒有單引號。

temp <- fn$sqldf("select count(V1) from file_new where V1=$v ") 
+0

是的,它是一個整數。我之前嘗試過,但我得到一個錯誤,不承認$符號!現在,我又跑了一次,我得到這個錯誤:sqliteExecStatement(con,statement,bind.data)錯誤:RS-DBI驅動程序:(不完整的數據綁定:期望1參數,得到0) – MASUMEH

+0

您需要調用它用fn $ sqldf來獲得插值 –