R删除重复的行

use*_*857 -2 r unique

我有一个数据框,我想删除所有重复的行。例如我的数据框看起来像:

> df <- data.frame(A = c("Happy", "Happy", "Sad", "Confused", "Mad", "Mad"), B = c(1, 2, 3, 4, 5, 6))
> df
         A B
1    Happy 1
2    Happy 2
3      Sad 3
4 Confused 4
5      Mad 5
6      Mad 6
Run Code Online (Sandbox Code Playgroud)

我只想获取A中的条目唯一的行:

         A B
1      Sad 3
2 Confused 4
Run Code Online (Sandbox Code Playgroud)

tal*_*lat 5

akrun似乎正在收集不同的方法,因此这是基础中的另一个方法:

df[ave(as.numeric(df$A), df$A, FUN = length) == 1,]
#         A B
#3      Sad 3
#4 Confused 4
Run Code Online (Sandbox Code Playgroud)

(我猜那duplicated是最常用的方法)

或使用dplyr:

require(dplyr)
group_by(df, A) %>% filter(n() == 1)
Run Code Online (Sandbox Code Playgroud)