【发布时间】:2019-10-31 05:53:12
【问题描述】:
我有来自 csv 文件的如下myDate 的数据:
start end
2017-07-22 04:00:00 2017-08-05 04:00:00
2014-05-16 17:00:00 2014-05-25 18:40:00
2018-12-13 22:00:00 2018-12-18 07:59:59
我还创建了另一个以天为单位的持续时间列:
library(tidyverse)
myDate$duration <- as.numeric(difftime(parse_datetime(myDate$end, "%Y-%m-%d %H:%M:%S"),
parse_datetime(myDate$start, "%Y-%m-%d %H:%M:%S"),
units = "days"))
我有两个问题:
- 我想显示前 n 个持续时间(表示 n = 5),我这样做
top_n(5, myDate$duration)但我收到了这个错误:
UseMethod("tbl_vars") 中的错误: 'tbl_vars' 没有适用的方法应用于类“c('double', 'numeric')
我该如何解决这个问题?
- 如何删除
myDate中最长 10% 的duration?
【问题讨论】:
-
您应该提供可重现的数据并指明您使用的软件包。对其他读者会更友好。
-
parse_datetime()属于readr(但我也在想同样的事情) -
@DarrenTsai,我正在使用这个
library(tidyverse)。我已经编辑了问题 -
@hydradon:
top_n函数:top_n(myDate, 5, duration)
标签: r