r中的某个变量的日期计数

发布于 2025-02-10 14:28:24 字数 1644 浏览 1 评论 0原文

我拥有的:

df1

appproc procrejold
2021-05-112021-05-11NANA
2021-05-112021-05-11NA NANA NA
2021-05-11NA NANANA
2021-- 05-112021-05-11NANA
2021-05-122021-05-12NA2021-09-12
2021-05-122021-05-122021-10 2021-10-01NA
2021-05-132021-05 -13NA2021-09-12
2021-05-132021-05-132021-10-01NA
2021-05-132021-05-132021-10-10-01NA
2021-05-13NA NANA NANA NA
2021-- 05-132021-05-13NA2021-09-12
2021-05-13NA NANANA NA
2021-05-132021-05-13NA NA NANA

我想要什么:一张新桌子,带有App Count of App和New Date。忽略旧的和rej

dfdesired:

日期应用程序PROC
2021-05-1143
2021-05-1222
2021-05-1375

What I have:

DF1

AppProcRejOld
2021-05-112021-05-11NANA
2021-05-112021-05-11NANA
2021-05-11NANANA
2021-05-112021-05-11NANA
2021-05-122021-05-12NA2021-09-12
2021-05-122021-05-122021-10-01NA
2021-05-132021-05-13NA2021-09-12
2021-05-132021-05-132021-10-01NA
2021-05-132021-05-132021-10-01NA
2021-05-13NANANA
2021-05-132021-05-13NA2021-09-12
2021-05-13NANANA
2021-05-132021-05-13NANA

What I want: A new table with count of App and New by Dates. Ignoring Old and Rej

DFdesired:

DateAppProc
2021-05-1143
2021-05-1222
2021-05-1375

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

メ斷腸人バ 2025-02-17 14:28:24

尝试此

library(dplyr , warn.conflicts = F)

DF1 |> group_by(App) |> summarise(app = n()) -> df2
DF1 |> group_by(Proc) |> summarise(proc =n()) -> df3

df2  |>  left_join(df3 , by = c("App" = "Proc")) -> DFdesired

输出

DFdesired

# A tibble: 3 × 3
  App          app  proc
  <chr>      <int> <int>
1 2021-05-11     4     3
2 2021-05-12     2     2
3 2021-05-13     7     5

Try this

library(dplyr , warn.conflicts = F)

DF1 |> group_by(App) |> summarise(app = n()) -> df2
DF1 |> group_by(Proc) |> summarise(proc =n()) -> df3

df2  |>  left_join(df3 , by = c("App" = "Proc")) -> DFdesired

Output

DFdesired

# A tibble: 3 × 3
  App          app  proc
  <chr>      <int> <int>
1 2021-05-11     4     3
2 2021-05-12     2     2
3 2021-05-13     7     5
沉溺在你眼里的海 2025-02-17 14:28:24

这是另一种使用pivot_longerpivot_wider的方法,来自tidyr。您可以选择Appproc用于旋转的列,然后删除na的行是值。

library(tidyverse)

df1 %>%
  pivot_longer(cols = c(App, Proc), values_drop_na = T) %>%
  count(value, name) %>%
  pivot_wider(id_cols = value, names_from = name, values_from = n)

输出

  value        App  Proc
  <chr>      <int> <int>
1 2021-05-11     4     3
2 2021-05-12     2     2
3 2021-05-13     7     5

Here is another approach using pivot_longer and pivot_wider from tidyr. You can select the App and Proc columns for pivoting, and remove rows where NA is the value.

library(tidyverse)

df1 %>%
  pivot_longer(cols = c(App, Proc), values_drop_na = T) %>%
  count(value, name) %>%
  pivot_wider(id_cols = value, names_from = name, values_from = n)

Output

  value        App  Proc
  <chr>      <int> <int>
1 2021-05-11     4     3
2 2021-05-12     2     2
3 2021-05-13     7     5
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文