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

分组的dplyr::mutate错误地返回lubridate间隔的向量

是由于在dplyr中使用mutate函数时,对于lubridate包中的间隔类型(interval)的处理存在一些问题。具体来说,当使用mutate函数对数据进行分组操作时,如果对lubridate包中的间隔类型进行计算,会错误地返回一个向量,而不是按照分组进行计算。

解决这个问题的方法是使用dplyr的group_by函数对数据进行分组,然后使用do函数结合lubridate包中的相关函数进行计算。具体步骤如下:

  1. 使用group_by函数对数据进行分组,指定分组的变量。
  2. 使用do函数结合lubridate包中的相关函数对分组后的数据进行计算。
  3. 在do函数中,使用lubridate包中的函数对分组后的数据进行处理,得到想要的结果。
  4. 最后使用ungroup函数取消分组。

下面是一个示例代码:

代码语言:R
复制
library(dplyr)
library(lubridate)

# 假设有一个数据框df,包含两个变量group和interval
df <- data.frame(
  group = c("A", "A", "B", "B"),
  interval = interval(ymd_hms("2022-01-01 00:00:00"), ymd_hms("2022-01-01 01:00:00"))
)

# 使用dplyr进行分组计算
result <- df %>%
  group_by(group) %>%
  do(interval_sum = sum(.$interval)) %>%
  ungroup()

# 输出结果
print(result)

在这个示例中,我们首先使用group_by函数对数据框df按照group变量进行分组。然后使用do函数结合lubridate包中的sum函数对每个分组中的interval进行求和计算。最后使用ungroup函数取消分组,得到最终的结果。

这样,我们就可以正确地对分组的dplyr::mutate错误地返回lubridate间隔的向量进行处理,并得到正确的结果。

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

相关·内容

数据处理第2节:将列转换为正确形状

博客原文:https://suzan.rbind.io/2018/01/dplyr-tutorial-1/ 作者:Suzan Baert 这是一系列dplyr函数中第二篇文章。...转换列:基础部分 您可以使用mutate()函数创建新列。 mutate选项几乎是无穷无尽:你可以对普通向量做任何事情,可以在mutate()函数内完成。...想象一下,我们有一个包含两个大值数据库,我们假设它们是拼写错误或测量错误,我们想要排除它们。 下面的代码将使任何brainwt值超过4并返回NA。 在这种情况下,代码不会因4以下任何内容而改变。...就像第1部分中select()函数一样,mutate()有变种: *mutate_all()将根据您进一步说明改变所有列 *mutate_if()首先需要一个返回布尔值函数来选择列。...,可以使用dplyr连接函数。

8.1K30

数据处理R包

plyr具体函数如下表所示: 函数名 输入值类型 输出值类型 aaply 数组/向量/矩阵 数组/向量/矩阵 adply 数组/向量/矩阵 数据框 aply 数组/向量/矩阵 列表 a_ply 数组/向量...(col_name),就是把进行分组变量名包含在.()中; fun:应用到每行函数 > df select(df ,starts_with("s")) sex 1 M 2 M 3 F 4 F > # mutate()函数在数据集新增列,但不对原数据作更改 > mutate...Lubridate包可以减少在R中操作时间变量,内置函数提供了很好解析日期与时间便利方法。lubridate 包是 Hadley Wickham开发用于高效处理时间数据 R 包。...(1)日期函数 > library(lubridate) > time <- now() #返回系统日期时间 > time [1] "2020-01-23 12:29:24 CST" > year(

4.7K20
  • R语言数据集合并、数据增减、不等长合并

    数据选取与简单操作: which 返回一个向量中指定元素索引 which.max 返回最大元素索引 which.min 返回最小元素索引 sample 随机在向量中抽取元素 subset 根据条件选取元素...id R M 1 1 9 7 2 2 7 2 其中,all=T代表全连接,all.x=T代表左联结;all.y=T代表右连接 2、dplyrdplyr数据合并, 一般用left_join...3、paste函数 生成一长串字符向量。 paste(c("X","Y"),1:10,sep="") #"X”,"Y"是长度为2字符向量,1:10 长度为10向量。...命令是让这两个向量粘合在一起生成新字符串向量,粘合后新字符之间没有间隔。...(RODBC、sqldf包) 二、数据增减 x=x[,-1] #这个就代表,删除了x数据集中第一列数据 或用dplyr包中mutate函数 a=mutate(Hdma_dat,dou=2*survived

    13.4K12

    R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

    2.8 mutate 可以为数据框计算新变量,返回含有新变量以及原变量新数据框: mutate(test, new = Sepal.Length * Sepal.Width) > head(test,...按列号 select(test,1) select(test,c(1,5)) 按列名 如果想要用向量来存放希望筛选列名,需要使用函数 one_of 来存放该向量。...对于待分离对象(col),不必加上引号;但对于即将创建新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...比如,需要对 cancer 数据集中 v0 和 v1 两个变量同时计算平均值和标准差: 显然,如果有许多变量要计算不止一个统计量,就需要人为将每一个变量每一个统计量单独命名。...Type 分组

    10.9K30

    生信入门马拉松之R语言基础-脚本项目管理、条件循环、表达矩阵和一丢丢数据挖掘(Day 7)

    数据框函数- 排序arrange()和desc参数、distinct()去重复、mutate()数据框新增列注意⚠️没有赋值就没有改变管道符号%>%-实现连续步骤非常易读彩虹代码展现嵌套函数逻辑。...yes:逻辑值T时返回值no,逻辑值F时返回值ifelse函数和str_detect()函数连用,王炸炸炸!!!..., b = rnorm(16), c = seq(1,3,0.1))slpply(x,length)#返回结果是个列表,用sapply(x,length)代码会返回一个向量...# 表达矩阵set.seed(10086)#使rnorm返回可重复需要加上代码。...7.5.3 箱线图应用单个基因在两组之间表达量差异可视化。分组信息:是一个有重复值离散型向量分组向量元素和表达矩阵列是一一对应

    17600

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

    variable3作聚合统计; data:指定需要分组统计数据框或列表; subset:通过可选向量指定data数据子集用于分组聚合; na.action:指定缺失值处理办法,默认为删除缺失值;...尽管它们都完成了聚合统计,但是第二种形式返回结果更加的人性化,因为第二种用法所返回数据框变量名称为Order_Date和Pay_Amt。...基于sqldf函数聚合 ---- 尽管aggregate函数可以非常方便实现数据分组聚合,但是它存在两方面的缺点,一个是无法直接对数据集中单个数值型变量使用不同聚合函数(除法FUN为自定义函数...尽管sqldf函数可以借助于SQL语法实现数据聚合,但是使用该函数时容易产生异常错误,例如参数drv值指定错误,就会导致sqldf函数无法生成结果(根据经验,参数drv值设置为’SQLite’时,...基于group_by和summarize函数聚合 ---- 结合dplyr包中group_by函数和summarize函数实现数据分组聚合可以避开aggregate函数和sqldf函数一些缺点,

    3.3K20

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

    通常数据清理是将非标准文本字符串转换成lubridate简介所描述数据格式。vignette("lubridate") ? 整洁是个广泛概念,也包括重构数据,以便有利于数据分析和建模。...使用broom::tidy()广泛应用于模型数据,并以标准数据框格式返回模型输出。使用变量名非标准化求值更高效,见R语言 dplyr传递参数_自由 平等~忠诚 奉献-CSDN博客[2]。...unlist()函数作用,就是将list结构数据,变成非list数据,即将list数据变成字符串向量或者数字向量形式。...summarize是一个多面手,用于返回自定义范围汇总统计值。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr替代,两个哪个好存在争议,最好学一个一直坚持下去。

    1.9K20

    R数据科学|3.5内容介绍及习题解答

    最重要一点是,这种函数必须是向量;它必须接受一个向量作为输入,并返回一个向量作为输出,而且输入向量与输出向量具有同样数目的分量。...= 0)) > [1] 327150 结果是,有许多航班air_time != arr_time - dep_time。除了数据错误,我可以想到两个原因。...在这种情况下,时间差异应该是24小时(1,440分钟)。有些航班跨越时区,总飞行时间将以小时(60倍数)为间隔。所有航班都是从纽约起飞,都是美国国内航班。...,R会将较短向量值,生成与较长向量相同长度向量。...该代码还发出一个警告,即较短向量不是较长向量倍数。当发生这种情况时,会发出警告,因为这通常是无意,可能是错误

    2.6K50

    从零开始异世界生信学习 R语言部分 06 R应用专题

    数据新增列 # mutate,数据框新增一列,新增一列是两列数值乘积 mutate(test, new = Sepal.Length * Sepal.Width) 图片 图片 select和filter...可以用来进行分组,通过str_detect函数识别数据中关键词,然后进行分组 samples = c("tumor1","tumor2","tumor3","normal1","normal2","...(group = rep(c("control","treat"),each = 3)) ##给数据添加一列分组列 ##最终生成作图过程中间转换数据框dat 图片 pdat = dat%>%...test <- list(x = 36:33,y = 32:35,z = 30:27);test #返回值是列表,对列表中每个元素(向量)求均值(试试方差var,分位数quantile) lapply...lapply(test,fivenum) lapply(test, var) lapply(test, sd) lapply(test, quantile) 图片 ### 3.sapply 简化结果,返回矩阵或向量

    2.5K30
    领券