我有一个数据帧‘df’,它有分类列和POSIXct列.这些数据如下所示:

Category DateTime
A 2022-08-29 00:00:00
A 2022-08-29 00:00:00
A 1 2022-08-29 00:00:00
A 1 2022-08-29 00:00:00
A 1 2022-08-29 00:00:00
B 2022-08-29 00:00:00
B 2022-08-29 00:00:00
B 2022-08-29 00:00:00
B 1 2022-08-29 00:00:00
B 1 2022-08-29 00:00:00
B 1 2022-08-29 00:00:00
B 1 2022-08-29 00:00:00
B 1 2022-08-29 00:00:00
A 2022-08-29 02:00:00
A 1 2022-08-29 02:00:00
B 2022-08-29 02:00:00
B 2022-08-29 02:00:00
B 2022-08-29 02:00:00
B 1 2022-08-29 02:00:00
B 1 2022-08-29 02:00:00
B 1 2022-08-29 02:00:00

我想创建一个新的数据帧‘df2’,它计算列‘Category’中不以"1"结尾的列‘DateTime’中的每个唯一值,结果如下所示:

Category DateTime CatCount
A 2022-08-29 00:00:00 2
B 2022-08-29 00:00:00 3
A 2022-08-29 02:00:00 1
B 2022-08-29 02:00:00 3

推荐答案

我们可以filter输出具有1的行,然后执行count

library(dplyr)
library(stringr)
df1 %>%
   filter(str_detect(Category, "\\s+1", negate = TRUE)) %>%
   count(Category, DateTime, name = "CatCount")

-输出

 Category            DateTime CatCount
1        A 2022-08-29 00:00:00        2
2        A 2022-08-29 02:00:00        1
3        B 2022-08-29 00:00:00        3
4        B 2022-08-29 02:00:00        3

数据

df1 <- structure(list(Category = c("A", "A", "A 1", "A 1", "A 1", "B", 
"B", "B", "B 1", "B 1", "B 1", "B 1", "B 1", "A", "A 1", "B", 
"B", "B", "B 1", "B 1", "B 1"), DateTime = c("2022-08-29 00:00:00", 
"2022-08-29 00:00:00", "2022-08-29 00:00:00", "2022-08-29 00:00:00", 
"2022-08-29 00:00:00", "2022-08-29 00:00:00", "2022-08-29 00:00:00", 
"2022-08-29 00:00:00", "2022-08-29 00:00:00", "2022-08-29 00:00:00", 
"2022-08-29 00:00:00", "2022-08-29 00:00:00", "2022-08-29 00:00:00", 
"2022-08-29 02:00:00", "2022-08-29 02:00:00", "2022-08-29 02:00:00", 
"2022-08-29 02:00:00", "2022-08-29 02:00:00", "2022-08-29 02:00:00", 
"2022-08-29 02:00:00", "2022-08-29 02:00:00")),
class = "数据.frame", row.names = c(NA, 
-21L))

R相关问答推荐

使用格式化程序自定义hc_tooltip以添加textColor删除了我的标记并try 将它们带回失败

如何将具有重复名称的收件箱合并到R中的另一列中,而结果不同?

使用rlang s arg_match判断函数输入列表

使用对管道内单元格的引用生成新变量

在位置周围设定一个半径并识别该半径内的其他位置

terra nearest()仅为所有`to_id`列返回NA

将年度数据插入月度数据

在不安装软件包的情况下测试更新

未识别时区

如何使用列表中多个列表中的第一条记录创建数据框

根据元素和前一个值之间的差值过滤矩阵的元素

使用Scale_*_MANUAL时在图例中保留未使用的系数级别

条形图顶部与其错误条形图不对齐

在纵向数据集中创建新行

如何在R中改变fviz_pca_biplot中圆的边界线的 colored颜色 ?

减少雨云面之间的间距并绘制所有统计数据点

Rmarkdown::Render vs Source()

防止正则表达式覆盖以前的语句

ArrangeGrob()和类似的替代方法不接受Grob列表.在Grid.Draw,返回:glist中的错误(...):仅允许在glist";中使用Grobs;

希望解析和复制R中特定模式的数据