我正在尋找一個新變數來標記我的哪些資料是重復的,選擇最舊的資料點作為“原始資料”。我的資料框按日期排序,但按 ID 排序。
ID Name Number Datetime (dd/mm/yyy/hh/MM)
1 ace 114 15.03.2019 15:26
2 bert 197 18.03.2019 07:28
3 vance 245 16.03.2019 14:03
4 chad 116 17.03.2019 02:02
5 chad 116 18.03.2019 18:23
6 ace 114 12.03.2019 23:15
對資料框進行排序并選擇重復的行也可以,但不能組合使用,這會導致原件不是第一個演示文稿。即使我在標記表示之前對資料幀進行了排序,對于下一個命令,資料幀似乎也是無序的,并且將這兩個命令與 %>% 鏈接也不起作用。
df %>% arrange(Datetime)
df$representations <- if_else(duplicated(df$number, .keep_all =TRUE), 1, 0)
df$represntations <- df %>%
arrange(Datetime) %>%
if_else(duplicated(df$number, .keep_all =TRUE), 1, 0)
我怎么能確定,原件將是數字的第一個資料點(像這樣)?
ID Name Number Datetime (dd/mm/yyy/hh/MM) representation
1 ace 114 15.03.2019 15:26 1
2 bert 197 18.03.2019 07:28 0
3 vance 245 16.03.2019 14:03 0
4 chad 116 17.03.2019 02:02 0
5 chad 116 18.03.2019 18:23 1
6 ace 114 12.03.2019 23:15 0
uj5u.com熱心網友回復:
試試下面的代碼
df <- df %>%
arrange(Datetime) %>%
mutate(representations = if_else(duplicated(number, .keep_all =TRUE), 1, 0)) %>%
arrange(ID)
uj5u.com熱心網友回復:
library(dplyr)
df %>%
arrange(`Datetime(dd/mm/yyy/hh/MM)`) %>%
mutate(flag = duplicated(Number)*1) %>%
arrange(ID)
1 ace 114 15.03.2019 1
2 2 bert 197 18.03.2019 0
3 3 vance 245 16.03.2019 0
4 4 chad 116 17.03.2019 0
5 5 chad 116 18.03.2019 1
6 6 ace 114 12.03.2019 0
uj5u.com熱心網友回復:
我最終使用了這段代碼,我檢查的示例似乎是正確的,謝謝!(雖然 as.Date 將年份從 2019 年改為 2020 年,但順序是正確的)
# split time and date, so as.Date can be used
emerge$date <- as.Date(sapply(strsplit(as.character(emerge$Falleinzeitdatum.Notfall), " "), "[", 1), format = "%d.%m.%y")
# arrange as proposed
emerge <- emerge %>%
arrange(date) %>%
mutate(re = if_else(duplicated(Patientennummer, .keep_all = TRUE), 1, 0))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/434729.html
