标识符不同,但只想保留 r

问题描述 投票:0回答:2
标识符 变量
病人1 y
病人2 x
病人2 y
病人2 y
病人3 x
病人3 y

我只想为每个标识符保留 1 行,但是对于出现 >1 次的标识符,我只想保留变量 == "x" 的行

r distinct
2个回答
0
投票

我们可以使用

library(dplyr)
df1 %>%
 slice(match("x", variable, nomatch = 1), .by = identifier)

-输出

   identifier variable
1   patient1        y
2   patient2        x
3   patient3        x

0
投票

有了

dplyr
,你可以使用
slice_max

library(dplyr)

df %>%
  slice_max(order_by = (variable == 'x'), by = identifier, with_ties = FALSE)

#   identifier variable
# 1   patient1        y
# 2   patient2        x
# 3   patient3        x
© www.soinside.com 2019 - 2024. All rights reserved.