df示例:
a = c("a", "b", "b", "b", "c")
b = c(1,4,3,2,5)
df = cbind.data.frame(a,b)
如何删除仅按“ a”列搜索的重复行,并保留第一个出现的行。我想保留其他列用于相应的行。所需的输出:
a1 = c("c","b","a")
b1 = c(5,4,1)
df1 = cbind.data.frame(a1,b1)
我想在dplyr管道中使用代码。例如,
df2 = df %>% arrange(desc(b)) %>% filter(b >= 1)
谢谢
答案 0 :(得分:0)
怎么样
df[!duplicated(a), ]
# a b
# 1 a 1
# 2 b 4
# 5 c 5
要与管道一起使用,请创建一个函数
uniqueValues <- function(df, columnName){
df[!duplicated(df[columnName]), ]
}
> df %>% arrange(desc(b)) %>% filter(b >= 1) %>% uniqueValues('a')
# a b
# 1 c 5
# 2 b 4
# 5 a 1