r - 绘制 R 中单列的总和
问题描述
我有一个名为:数据的示例数据集,如下所示:
ID TIMEDATA DURATION
A 12/18/2019 4:45:10 AM
A 12/18/2019 4:45:11 AM 1 sec
A 12/18/2019 9:06:59 PM 0 sec
B 12/18/2019 4:14:13 AM 0 sec
B 12/18/2019 4:14:14 AM 1 sec
我想创建列“持续时间”的总和的条形图,因为它与时间数据小时相关联。
我已经使用了这段代码,但这不起作用。
data$TIMEDATA <- as.Date(data$TIMEDATA, format = "%m/%d/%Y %I:%M:%S %p")
data$TIMEDATA = format(data$TIMEDATA, "%I")
tapply(data$DURATION, data$TIMEDATA, FUN = sum)
barplot(tapply(data$DURATION, format(data$TIMEDATA, "%I"), FUN = sum))
dput:
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 617195 obs. of 3 variables:
$ ID: Factor w/ 57 levels "","A",..: 37 37 37 37 37 43 43 43 43 43 ...
$ TIMEDATA : chr "04" "04" "04" "04" ...
$ DURATION : num 1 1 1 0 6 1 1 1 0 1 ...
任何帮助表示赞赏。我会继续研究这个。
解决方案
如果“持续时间”是numeric
它会起作用的
library(lubridate)
data$TIMEDATA <- format(mdy_hms(data$TIMEDATA), "%I")
barplot(tapply(data$DURATION, data$TIMEDATA, FUN = sum))
数据
data <- structure(list(ID = c("A", "A", "A", "B", "B"),
TIMEDATA = c("12/18/2019 4:45:10 AM",
"12/18/2019 4:45:11 AM", "12/18/2019 9:06:59 PM", "12/18/2019 4:14:13 AM",
"12/18/2019 4:14:14 AM"), DURATION = c(0L, 1L, 0L, 0L, 1L)),
class = "data.frame", row.names = c(NA,
-5L))
推荐阅读
- python - 如何更新有重复的json文件的一部分
- javascript - React Server 组件(RSC)可以有生命周期吗?
- wxpython - 我应该如何从 wxPython 的 FormatISOCombined(self, sep='T') 函数文档中读取 sep='T'?
- three.js - 仅沿曲线/多段线垂直拉伸几何图形
- python-3.x - 我需要帮助确定我应该将 IF 条件放在代码块中的哪个位置
- android - 为什么 viewModelScope.launch 中的代码在收集后结束?
- json - 使用 Neo4j 存储 json 数据
- javascript - 带有 --prod 标志的 Ionic 5 构建失败 - 类型上不存在属性“翻译”
- c# - 搜索文件时如何从 C# 中的 UnauthorizedAccessException 错误继续
- git - 如何在 Visual Studio 2019 v.16.8.xxx 中禁用 Git 源代码管理?