[英]Count observations by ID and Date without unique values
我正在處理一個數據庫,其中包括日期變量和收縮壓測量值。 它看起來像這樣:
ID | 日期 | 止痛葯 |
---|---|---|
1個 | 2021-11-25 | 128 |
1個 | 2021-11-26 | 125 |
1個 | 2021-11-27 | 128 |
1個 | 2021-11-27 | 128 |
1個 | 2021-11-27 | 128 |
1個 | 2021-11-27 | 128 |
目標是計算每個 ID 和 DATE 的注冊表。 在上面的示例中,答案必須是 3。我嘗試使用 dplyr package 中的dplyr
n_distinct()
但不正確,因為 128 是相同的數字,但在不同的日期測量(我需要考慮到這一點)。 這是我使用的代碼
data <-data %>%
group_by(ID) %>%
mutate(n_sistolic= n_distinct(SISTOLIC),
n_days_followup= n_distinct(DATE)) # Number of days during follow up
我除了我的數據看起來像這樣:
ID | 日期 | 止痛葯 | n_sistolic |
---|---|---|---|
1個 | 2021-11-25 | 128 | 3個 |
1個 | 2021-11-26 | 125 | 3個 |
1個 | 2021-11-27 | 128 | 3個 |
1個 | 2021-11-27 | 128 | 3個 |
1個 | 2021-11-27 | 128 | 3個 |
1個 | 2021-11-27 | 128 | 3個 |
非常感謝您的寶貴時間。
這能解決你的問題嗎?
圖書館
library(dplyr)
數據
data <- tibble::tribble(
~ID, ~DATE, ~SISTOLIC,
1L, "2021-11-25", 128L,
1L, "2021-11-26", 125L,
1L, "2021-11-27", 128L
)
解決方案
data %>%
group_by(ID) %>%
mutate(n_sistolic= sum(!is.na(SISTOLIC)),
n_days_followup= n_distinct(DATE))
Output
#> # A tibble: 3 × 5
#> # Groups: ID [1]
#> ID DATE SISTOLIC n_sistolic n_days_followup
#> <int> <chr> <int> <int> <int>
#> 1 1 2021-11-25 128 3 3
#> 2 1 2021-11-26 125 3 3
#> 3 1 2021-11-27 128 3 3
創建於 2022-12-06,使用reprex v2.0.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.