Перевести SQL скрипт в формате Tidyverse - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь переписать сценарий моего бывшего коллеги из sqldf в tidyverse.Я не мог следить за этим куском.Два фрейма данных с именами «data» и «Stt_nm» были объединены, но я не понимаю, почему он использовал два выбора.Возможно, я что-то здесь упускаю.

output = sqldf(
  paste0(
    "select a.date,b.name,sum(a.weigh) as rch
     from (select distinct date,ID,IndID,Station_id,weigh from data) as a
          left join Stt_nm as b on a.Station_id=b.Station
     where a.date between ",
     startdate,
     " and ",
     enddate,
     "
     group by a.date,b.name"
  )
)

1 Ответ

0 голосов
/ 18 января 2019

Я не могу проверить наверняка без воспроизводимого примера, но я думаю, что это следует сделать:

library(tidyverse)
data %>% 
  select(date, ID, IndID, Station_id, weigh) %>% 
  left_join(Stt_nm, by="Station") %>%
  filter(date <= startdate & date >= enddate) %>%
  group_by(date, name) %>%
  summarize(rch = sum(weigh))
...