[英]Convert SQL code to R (using dplyr)
我正在嘗試使用 dplyr 將 SQL 代碼轉換為 R。 我幾乎做到了,但我對代碼的最后一部分有疑問。
我只需要顯示罰款總和 (valamenda) 大於“卡拉拉西”中的總和 (valamenda) 的縣 (denloc)。
這是我在 SQL 中的查詢:
select denloc, sum (valamenda) as total
from contraventions c inner join counties co on c.idloc = co.idloc
where datacontr between date '1/1/2014' and date '31/12/2014'
group by denloc
having sum(valamenda) >
(select sum (valamenda) as total
from contraventions c inner join counties co on c.idloc = co.idloc
where denloc = 'Calarasi' and datacontr between date '1/1/2014' and date '31/12/2014'
group by denloc)
這就是我到目前為止在 R 中所做的
result <- inner_join(Contraventions, Counties) %>%
select(denloc, datacontr, valamenda) %>%
filter(year(datacontr)== '2014') %>%
group_by(denloc) %>%
summarize(Total_Amenda = sum(valamenda))
結果是:
denloc Total_Amenda
1 Bucuresti 1000
2 Calarasi 850
3 Cluj Napoca 150
4 Giurgiu 1500
5 Iasi 250
正如我已經說過的,我必須只顯示罰款總和 (Total_Amenda) 大於“卡拉拉西”中的總和 (Total_Amenda) 的那些縣 (denloc)。
因此我的結果應該是這樣的:
denloc Total_Amenda
1 Giurgiu 1500
2 Bucuresti 1000
我應該創建一個變量還是應該制作兩個表然后比較它們?
嘗試手動將 SQL 代碼轉換為 R 代碼后,您可以在 dplyr 代碼后使用 show_query() 函數交叉檢查 dplyr 包 R 代碼是否產生相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.