【问题标题】:Sort by date in "dbReadtable" (in R)按“dbReadtable”中的日期排序(在 R 中)
【发布时间】:2020-11-22 14:38:21
【问题描述】:

我有一个我想按日期排序的 dbReadtable。我的表格如下:

Id Date       Number
1  2020-11-01 1
2  2020-11-03 3
3  2020-11-02 4
4  2020-11-01 2
5  2020-11-02 4
6  2020-11-03 3

我希望输出看起来像这样:

Date       Number
2020-11-01 3
2020-11-02 8
2020-11-03 6

我对表格使用以下代码:

data <- dbReadTable(con, "observations")

我该如何解决这个问题?

【问题讨论】:

  • 尝试: library(dplyr) df %>% group_by(Date) %>% summarise(Number = sum(Number)) 其中 df 是您的数据框
  • 你的意思是这样的:data %>% group_by(Date) %>% summarise(Number = sum(Number))
  • 很遗憾,这不起作用。
  • 你加载了 dplyr 库吗?

标签: r database datatable


【解决方案1】:

使用以下 SQL 语句。我们使用最后注释中的输入和sqldf 使其可重现,但您可以将相同的 SQL 语句与适合您的数据库的任何内容一起使用。

library(sqldf)
sqldf("select Date, sum(Number) as Number from data group by Date order by Date")

给予:

        Date Number
1 2020-11-01      3
2 2020-11-02      8
3 2020-11-03      6

注意

Lines <- "Id Date       Number
1  2020-11-01 1
2  2020-11-03 3
3  2020-11-02 4
4  2020-11-01 2
5  2020-11-02 4
6  2020-11-03 3"
data <- read.table(text = Lines, header = TRUE)

【讨论】:

  • 是否可以使用 '''Lubridate::wday'''' 来获取频率最高的星期(假设数据文件会更长)?
  • 似乎是一个完全不同的问题。
猜你喜欢
  • 1970-01-01
  • 2022-01-08
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
相关资源
最近更新 更多