我在R中使用sqldf軟件包,並試圖找到單個列中值爲1和2的值的計數。我的數據是這樣的:計算單個列中的值
> head(d)
bid status
1 201-300 1
2 201-300 1
3 901-1000 2
4 601-700 1
5 801-900 1
6 801-900 2
我試圖找到狀態計數時,它等於1的狀態計數時,它等於2,然後讓他們在兩個單獨的列。
因此,使用R中的sqldf包,我跑到下面的代碼:
sqldf("SELECT bid, SUM(IF(status='2', 1,0)) AS 'won', SUM(IF(status='1', 1,0)) AS 'lost', COUNT(bid) FROM d GROUP BY bid")
不過,我得到了以下錯誤消息。
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: no such function: IF)
這是不可能與sqldf包? 有沒有辦法用R中的另一個sql命令獲得想要的結果? (或與plyr,reshape或R中的任何其他工具)
使用'table(d $ status)' – Andrie 2012-01-17 20:13:10
您的查詢是一個有效的mysql查詢。這是關於MySQL的問題嗎? – 2012-01-17 20:24:08