对于下面的示例表,我想只选择Unique_ID相同但Tail_No不同的行。
My_data_table
Unique_ID Tail_No
1AA 1234
1AA 1234
1AA 4234
3AA 5234
4AA 6234
4AA 7234
6AA 1284
7AA 1234
我希望我的结果表看起来像这样
My_data_table
Unique_ID Tail_No
1AA 1234
1AA 4234
4AA 6234
4AA 7234
答案 0 :(得分:0)
以下是使用dplyr
library(dplyr)
filter(df, Unique_ID %in% Unique_ID[duplicated(Unique_ID)]) %>%
distinct(Unique_ID, Tail_No)
答案 1 :(得分:0)
您提供的数据子集和您的问题并不清楚。这是我最好的猜测:
创建数据框:
df <- structure(list(Unique_ID = c("1AA", "1AA", "3AA", "4AA", "4AA", "6AA", "7AA"),
Tail_No = c(1234, 4234, 5234, 6234, 7234, 1284, 1234)),
class = "data.frame",
.Names = c("Unique_ID", "Tail_No"),
row.names = c(NA, -7L))
我们将问题分为两个步骤:
library(dplyr)
df1 <- df %>%
group_by(Unique_ID) %>% # Group your rows per their unique ID
filter(n() > 1) %>% # Keep rows that have repeated UIDs
ungroup() # Undo grouping (not needed anymore)
print(df1)
这是包含重复唯一ID的表
Unique_ID Tail_No
<chr> <dbl>
1 1AA 1234
2 1AA 4234
3 4AA 6234
4 4AA 7234
保留具有唯一(UID, Tail_No)
元组的行:
df2 <- df1 %>%
group_by(Unique_ID, Tail_No) %>%
filter(n() == 1) %>%
ungroup()
print(df2)
这就是结果:
Unique_ID Tail_No
<chr> <dbl>
1 1AA 1234
2 1AA 4234
3 4AA 6234
4 4AA 7234
也许(您的问题不明确)您希望行具有重复的Unique_ID的唯一Tail_No。如果是这种情况,您需要:
保留具有唯一Tail_No
的行:
df2 <- df1 %>%
group_by(Tail_No) %>%
filter(n() == 1) %>%
ungroup()
print(df2)
这就是结果:
Unique_ID Tail_No
<chr> <dbl>
1 1AA 1234
2 1AA 4234
3 4AA 6234
4 4AA 7234
但您的问题和数据集示例并不清楚。希望这个答案对你有用