【问题标题】:I need help to solve a SQL task using R (base functions, dplyr and data.table functions)我需要帮助来解决使用 R 的 SQL 任务(基本函数、dplyr 和 data.table 函数)
【发布时间】:2022-11-21 06:30:20
【问题描述】:

我需要写出我已经在 SQL 中使用的 R 查询。 任务是将查询从 SQL“转录”到 R。 我还导入了“帖子”库。 我需要以 3 种方式完成任务: 1-仅基本功能 2-Dplyr 3-Data.table

SQL查询如下: 选择 STRFTIME('%Y', CreationDate) 作为年份,COUNT(*) 作为总数 职位 按年分组

帮助将不胜感激。谢谢^^

我没有写任何东西,因为我不知道,但我有一些已经完成的查询的例子。

【问题讨论】:

    标签: sql r dplyr


    【解决方案1】:

    你看过sqldf这个包了吗?

    install.packages("sqldf")
    library("sqldf")
    
    Posts <- data.frame(year = rep(c(2021, 2022), each = 2))
    sqldf("select year,count(*) as TotalNumber from Posts group by Year")
    

    【讨论】:

    【解决方案2】:

    基础R

    as.data.frame(
      table(Year = format(dat$CreationDate, format = "%Y")),
      responseName = "TotalNumber")
    

    dplyr

    library(dplyr)
    dat %>%
      transmute(Year = format(CreationDate, format = "%Y")) %>%
      count(Year)
    

    数据表

    library(data.table)
    as.data.table(dat)[, as.data.table(table(Year = format(CreationDate, format = "%Y")))]
    # or
    as.data.table(dat)[, Year := format(CreationDate, format = "%Y")][, .N, by = Year]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      相关资源
      最近更新 更多