首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lubridate with_tz不能与dplyr group_by一起使用

lubridate是一个R语言的日期和时间处理包,而with_tz()函数是lubridate包中的一个函数,用于将日期和时间转换为指定时区的日期和时间。dplyr是另一个R语言的数据处理包,其中的group_by()函数用于按照指定的变量对数据进行分组。

然而,lubridate中的with_tz()函数与dplyr中的group_by()函数在使用时存在一些限制。具体来说,当使用with_tz()函数将日期和时间转换为指定时区后,再使用dplyr中的group_by()函数进行分组操作时,可能会出现错误或不符合预期的结果。

这种限制是由于with_tz()函数在转换时会改变日期和时间的属性,而dplyr中的group_by()函数对日期和时间的处理是基于其原始属性进行的。因此,在使用lubridate和dplyr时,建议在进行分组操作之前先完成日期和时间的转换,或者使用其他方法来处理时区的转换和分组操作。

对于这个问题,可以考虑以下解决方案:

  1. 在使用with_tz()函数进行时区转换之后,将结果保存为一个新的变量,然后再使用group_by()函数进行分组操作。例如:
代码语言:txt
复制
library(lubridate)
library(dplyr)

# 创建一个包含日期和时间的数据框
data <- data.frame(datetime = c("2022-01-01 12:00:00", "2022-01-02 12:00:00"),
                   value = c(1, 2))

# 将日期和时间转换为指定时区(例如:"Asia/Shanghai")
data$datetime_tz <- with_tz(data$datetime, tzone = "Asia/Shanghai")

# 使用group_by()函数进行分组操作
data_grouped <- data %>% 
  group_by(datetime_tz) %>% 
  summarise(total_value = sum(value))
  1. 如果需要在分组操作之前进行时区转换,可以考虑使用其他函数或方法来处理时区转换和分组操作。例如,可以使用lubridate包中的force_tz()函数来强制将日期和时间转换为指定时区,然后再使用dplyr中的group_by()函数进行分组操作。例如:
代码语言:txt
复制
library(lubridate)
library(dplyr)

# 创建一个包含日期和时间的数据框
data <- data.frame(datetime = c("2022-01-01 12:00:00", "2022-01-02 12:00:00"),
                   value = c(1, 2))

# 强制将日期和时间转换为指定时区(例如:"Asia/Shanghai")
data$datetime_tz <- force_tz(data$datetime, tzone = "Asia/Shanghai")

# 使用group_by()函数进行分组操作
data_grouped <- data %>% 
  group_by(datetime_tz) %>% 
  summarise(total_value = sum(value))

需要注意的是,以上解决方案仅针对lubridate中的with_tz()函数与dplyr中的group_by()函数的组合使用问题进行了说明。在实际应用中,还需要根据具体情况选择适当的方法和函数来处理日期和时间的时区转换和分组操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你以为川普的推特都是他自己写的?数据可不这么认为!

主要考虑推文是在一天内什么时间发布的,在此我们可以发现区别: ♦ library(lubridate) ♦ library(scales) tweets %>% count(source, hour...= hour(with_tz(created, "EST"))) %>% mutate(percent = n / sum(n)) %>% ggplot(aes(hour, percent, color...而 iPhone 转推时,一般不使用双引号。 ?...用词对比 在对比安卓和 iPhone 用词区别时,David 用到了他和 Julia Silge 一起编写的 tidytext 包。...但据报道,上任后的川普必须使用一部由美国特工处认证的安全加密手机,以替换他之前使用的安卓系统手机。据称前总统奥巴马就无法通过安全手机发推文,那使用安全手机后,川普还能继续愉快的“推特治国”吗? ?

98760

【钱塘号】用R语言爬取美国总统的twitte进行数据分析

发推时间对比 首先用 twitteR 包中的 userTimeline 函数导入川普发推的时间数据: ♦ library ( dplyr ) ♦ library ( purrr )...主要考虑推文是在一天内什么时间发布的,在此我们可以发现区别: ♦ library(lubridate) ♦ library(scales) tweets %>% count(source..., hour = hour(with_tz(created, "EST"))) %>% mutate(percent = n / sum(n)) %>% ggplot(aes(hour, percent...比如下面这条: 而川普安卓端发的推文没有图片、链接,更多是直接的文字,比如: 用词对比 在对比安卓和 iPhone 用词区别时,David 用到了他和 Julia Silge 一起编写的...但据报道,上任后的川普必须使用一部由美国特工处认证的安全加密手机,以替换他之前使用的安卓系统手机。据称前总统奥巴马就无法通过安全手机发推文,那使用安全手机后,川普还能继续愉快的“推特治国”吗?

2.3K70

用R语言爬取美国新总统-川普的twitte进行数据分析

发推时间对比 首先用 twitteR 包中的 userTimeline 函数导入川普发推的时间数据: ♦ library ( dplyr ) ♦ library ( purrr )...主要考虑推文是在一天内什么时间发布的,在此我们可以发现区别: ♦ library(lubridate) ♦ library(scales) tweets %>% count(source..., hour = hour(with_tz(created, "EST"))) %>% mutate(percent = n / sum(n)) %>% ggplot(aes(hour, percent...比如下面这条: 而川普安卓端发的推文没有图片、链接,更多是直接的文字,比如: 用词对比 在对比安卓和 iPhone 用词区别时,David 用到了他和 Julia Silge 一起编写的...但据报道,上任后的川普必须使用一部由美国特工处认证的安全加密手机,以替换他之前使用的安卓系统手机。据称前总统奥巴马就无法通过安全手机发推文,那使用安全手机后,川普还能继续愉快的“推特治国”吗?

2.7K50

R语言 日期、时间和lubridate

strptime(x,format="",tz=""),参数tz是时区(time zone),默认是空,在解析时,如果指定时区,R会调用Sys.timezone( ) 。..."lubridate") library(lubridate) 系统的当前时间lubridate::now(),和Sys.time()函数返回的时间相同 系统的当前日期lubridate::today(...包提供了三个函数 : tz: 提取数据数据的时区 tz(today()) with_tz:将时间数据转换为另一个时区的同一时间,时间值改变但是时间不变 force_tz;将时间数据的时区强制转换为另一个时区...,时间值不变但是时间会变 > times <- now(tzone = "UTC") > > with_tz(times,tz="America/Chicago") [1] "2020-11-04...周期period根据日历来指定时间阔度,这意味着,在把周期添加到一个时间之前,period的确切的时间跨度是固定的。例如,一年的周期可以是365天,也可以是366天,这取决于它是否是闰年。

5.5K10

R 和 RStudio 的安装及 R Profile 的配置 & 爬取 CRAN 上的所有 R 包的名称、发布日期和标题

基于这种设定,使用 R 基础绘图系统绘图的结果将会是这样的: hist(iris$Sepal.Length) 使用 ggplot2 绘图的结果是这样的: library(ggplot2) ggplot...CRAN/web/packages/available_packages_by_date.html 显然,这是个表格,很容易爬取: library(rvest) library(tidyverse) # lubridate...是处理日期的一个 R 包 library(lubridate) library(hrbrthemes) # 需要耐心地等待一会儿 pkg <- "https://mirrors.tuna.tsinghua.edu.cn...) # install.packages("ggchicklet", repos = "https://cinc.rud.is") library(ggchicklet) pkg %>% group_by...Data Source: \nhttps://mirrors.tuna.tsinghua.edu.cn/CRAN/", x = "", y = "") 按年统计: pkg %>% group_by

3.4K40

「R」dplyr 列式计算

❝在近期使用dplyr」 进行多列选择性操作,如 mutate_at() 时,发现文档提示一系列的 「dplyr」 函数变体已经过期,看来后续要退休了,使用 across() 是它们的统一替代品,所以最近抽时间针对性的学习和翻译下...dplyr」 动词函数一起工作: •重新缩放所有数值变量到范围 0-1: rescale01 <- function(x) { rng <- range(x, na.rm = TRUE) (x..._if, _at, _all 「dplyr」 以前的版本允许以不同的方式将函数应用到多个列:使用带有_if、_at和_all后缀的函数。这些功能解决了迫切的需求而被许多人使用,但现在被取代了。...这使 「dplyr」 更容易使用(因为需要记住的函数更少),也使我们更容易实现新的动词(因为我们只需要实现一个函数,而不是四个)。...」 的开发者们通过 across() 简化了 「dplyr」 对于一些数据复杂操作的处理逻辑,提高了整体的学习和使用效率,让我们使用者更关注于逻辑而非实现上。

2.4K10

教你几招R语言中的聚合操作

在R语言中提供了几种实现数据聚合的常用函数,它们分别是基于stats包中的aggregate函数、基于sqldf包中的sqldf函数以及基于dplyr包中的group_by函数和summarize函数。...na.action:指定缺失值的处理办法,默认为删除缺失值; 为使读者进一步理解aggregate函数的以上两种用法,将以某商户的订单数据为例,统计每天的交易额,代码如下: # 加载第三方包 library(lubridate...基于group_by和summarize函数的聚合 ---- 结合dplyr包中的group_by函数和summarize函数实现数据的分组聚合可以避开aggregate函数和sqldf函数的一些缺点,...而且使用起来也非常的方便和快捷。...指定已分组的数据框,即通过group_by函数处理的数据框; ...

3.3K20

《高效R语言编程》6--高效数据木匠

这是本书最重要的一章,将涉及以下内容: 使用tidyr整理数据 使用dplyr处理数据 使用数据库 使用data.table处理数据 软件配置 library("tibble") library("tidyr...tibble会打印每个变量的类,data.frame不会 stringAsFactors默认转换 输出时,只输出前10行 使用tidyr与正则表达式整理数据 整理数据包括数据清理和数据重构,前者是重定格式与标记脏数据...通常的数据清理是将非标准文本字符串转换成lubridate简介所描述的数据格式。vignette("lubridate") ? 整洁是个广泛的概念,也包括重构数据,以便有利于数据分析和建模。...与基本R中类似函数不同,变量无需使用 $ 操作符就可直接使用,设计与magrittr包的%>%管道操作符一起使用,以允许每个数据阶段写成新的一行。其是一个大型包,本身可以看成一门语言。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr的替代,两个哪个好存在争议,最好学一个一直坚持下去。

1.9K20
领券