2017-05-17 39 views
1

我想知道我可以通過使用SQL查詢paremeter不起作用與在condtion並不R中工作選擇statment

請參見下面的我的代碼

Vector <- c(123,436,765) 
for (i in 1:length(Vector){ 
Result <- sqldf("select * from DF where studentID =" , Vector[i]) 
Print(Result)} 

注意樣品,我DF有studentId數據類型:integer

感謝

+0

爲什麼不' 「SELECT * FROM DF其中studentID在矢量」',其中'VECTOR'是類'data.frame'。 – mtoto

+0

關於如何提問,請參閱[mcve]。尤其應該提供「DF」或適當的裁減版本。請注意,SQL語句必須在第一個參數中傳遞,而問題中的代碼並非如此。 'v < - Vector [i]; fn $ sqldf(「select * from DF where studentID = $ v」)'請閱讀'?sqldf'並用'fn'查看示例,在sqldf github頁面顯示字符串插值。 –

回答

-1

我更喜歡簡單的R,但如果你想使用data.frame類似於SQL的語言,你應該考慮ü唱dplyr,這是現在非常主流。 這裏有一個工作的例子,就像你提到的那樣做一個操作。 管道%>%只需取左邊的內容,並將其作爲右邊函數的第一個參數,使嵌套函數更簡單。

required(dplyr) 
iris 
iris <- tbl_df(iris) 
iris %>% filter(Sepal.Length<=5) %>% select(Species)