r - 从另一列 R 中查找按条件计算天数
问题描述
我的真实数据框有超过 90000 行和 30Ptt
然后,我有一个这样的数据框:
Ptt Date Area
88734 2016-10-23 05:39:18 BA
88734 2016-10-23 06:53:13 BA
88734 2016-11-09 08:32:18 MI
88734 2016-11-19 06:45:27 MI
88734 2016-12-20 12:30:43 MI
88734 2016-12-29 02:45:35 FA
129041 2017-10-05 04:55:24 BA
129041 2016-10-23 06:45:30 MI
129041 2016-11-16 07:10:32 FA
129041 2016-11-29 03:43:54 FA
120941 2017-01-02 14:54:39 FA
dt = data.table(Ptt= c("88734", "88734", "88734", "88734", "88734", "88734", "120941", "120941","120941","120941","120941"),
date = c("2016-10-23 05:39:18",
"2016-10-23 06:53:13 ",
"2016-11-09 08:32:18",
"2016-11-19 06:45:27",
"2016-12-20 12:30:43",
"2016-12-29 02:45:35",
"2017-10-05 04:55:24",
"2016-10-23 06:45:30",
"2016-11-16 07:10:32",
"2016-11-29 03:43:54",
"2017-01-02 14:54:39"),
Area = c("BA", "BA", "MI", "MI", "MI", "FA", "BA", "MI", "FA", "FA", "FA"))
我想要两件事。Ptt
首先,计算每个人有多少天area
。其次,每个人有多少天area
,但我不知道该怎么做,有人知道吗?
关于第一个,例如:88734
在 1 天,在BA
3 天,在MI
1 天FA
,依此类推。
另一个例子(不是真实的):我有 2 天重复88734
, 2016-10-23
, 2016-10-23
, 然后2016-11-09
, 2016-11-09
, 2016-11-09
(这里重复 3 天),然后2016-12-29
(这里 1 天)。所以,这88734
总共有 3 天计算,而不是 6 天。
关于第二个,即使有date
很多相同Ptt
,我也需要对所有时间求和,我想就像,对88734
at 的所有天BA
数求和,然后对 的所有天数求和129031
,然后将它们放在一起。(我不知道是否是正确的推理)
例如(不是真实的),88734
有 10/08/2017、10/08/2017 在BA
,但129041
也有 10/08/2017、10/08/2017、10/08/2017 在BA
。所以,在 2 天BA
,而不是 1 天。
我想要这个:(可能是 2 个新闻数据框)
#First one
Ptt Area Days
88734 BA 1
88734 MI 3
88734 FA 1
129041 BA 1
129041 MI 1
120941 FA 3
#Second one
Area Days
BA 2
MI 4
FA 4
谢谢!
解决方案
您可以使用dplyr
andlubridate
来获得您想要的输出:
dt %>%
mutate(date = as_date(date)) %>%
distinct() %>%
count(Ptt, Area, name="Days")
返回
Ptt Area Days
1: 120941 BA 1
2: 120941 FA 3
3: 120941 MI 1
4: 88734 BA 1
5: 88734 FA 1
6: 88734 MI 3
和
dt %>%
mutate(date = as_date(date)) %>%
distinct() %>%
count(Area, name="Days")
给
Area Days
1: BA 2
2: FA 4
3: MI 4
推荐阅读
- android - KDoc / Dokka:忽略子类中的继承方法
- vuex - 未捕获的错误:模块解析失败:速记属性分配仅在解构模式中有效
- azure-sql-database - 如何在 azure sql 中创建包含的数据库和用户
- c# - 锁定/同步问题 - 后端代码执行速度比数据库保存快
- javascript - 在 array.map 中渲染元素时删除尾随逗号
- android-testing - 片段测试,我缺少与 ActivityScenarioRule 等效的东西
- php - 在 Woocommerce 购物车页面上显示特定产品属性
- jenkins - Jenkins - 当下游项目中止时,中止上游项目
- python - Python 未找到名为“pip”的模块
- javascript - 如何在 React 中将 html 字符串转换为纯文本?