我有一個看起來像這樣的資料框:
| 學生卡 | Enrollment_date(班級=日期) |
|---|---|
| 56783536 | 2019-02-01 |
| 56783536 | 2019-02-12 |
| 56783406 | 不適用 |
| 56783406 | 不適用 |
| 56783522 | 2019-03-02 |
| 56783522 | 不適用 |
| 56783599 | 不適用 |
| 56783599 | 不適用 |
我正在嘗試過濾行,以便 1)保留最大日期的行,2)當兩個注冊日期均為 NA 時保留兩個重復的行,3)當一個日期為 NA 而另一個不是時,保留沒有 NA 的一行。所以它應該輸出這個:
| 學生卡 | Enrollment_date(班級=日期) |
|---|---|
| 56783536 | 2019-02-12 |
| 56783406 | 不適用 |
| 56783406 | 不適用 |
| 56783522 | 2019-03-02 |
| 56783599 | 不適用 |
| 56783599 | 不適用 |
我試過這個:
dup2_ENROLL_2020 <- dup_ENROLL_2020 %>%
group_by(studentID) %>%
filter(Enrollment_date==max(Enrollment_date))
還有這個:
dup2_ENROLL_2020 <- dup_ENROLL_2020 %>%
group_by(studentID) %>%
slice(which.max(Enrollment_date))
其中有一堆 !is.na() 和 na.omit() 的變體。他們都沒有作業,有人幫助我(對不起菜鳥問題)
uj5u.com熱心網友回復:
試試這個:
dat %>%
group_by(studentID) %>%
filter(if (all(is.na(Enrollment_date))) TRUE else Enrollment_date == max(Enrollment_date, na.rm = TRUE)) %>%
ungroup()
# # A tibble: 6 x 2
# studentID Enrollment_date
# <int> <date>
# 1 56783536 2019-02-12
# 2 56783406 NA
# 3 56783406 NA
# 4 56783522 2019-03-02
# 5 56783599 NA
# 6 56783599 NA
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/418385.html
標籤:
