使用dplyr仅筛选唯一值列表中的一个
好的,我有一个数据帧,在R中如下所示:使用dplyr仅筛选唯一值列表中的一个,r,filter,dplyr,R,Filter,Dplyr,好的,我有一个数据帧,在R中如下所示: df <- structure(list(Job_Bin = c("EXECUTIVE", "EXECUTIVE", "EXECUTIVE", "STAFF ASSISTANTS", "STAFF ASSISTANTS", "STAFF ASSISTANTS", "STAFF ASSISTANTS", &
df <- structure(list(Job_Bin = c("EXECUTIVE",
"EXECUTIVE", "EXECUTIVE",
"STAFF ASSISTANTS", "STAFF ASSISTANTS",
"STAFF ASSISTANTS", "STAFF ASSISTANTS",
"STAFF ASSISTANTS", "BARREL RIDER",
"BARREL RIDER"), Code = c("101",
"101", "101", "102", "102", "102", "102", "102", "103", "103"
)), row.names = c(NA, 10L), class = "data.frame")
如果可能的话,我想使用dplyr/tidyverse来实现这一点
我尝试使用以下命令,但返回错误:
df %>%
filter(unique(Code))
Error: Problem with `filter()` input `..1`.
x Input `..1` must be of size 422 or 1, not size 120.
i Input `..1` is `unique(Code)`.
尝试此
base R
解决方案:
#Code
dfnew <- df[!duplicated(df$Job_Bin),]
我们可以使用
distinct
fromdplyr
library(dplyr)
df %>%
distinct
如果它基于单个列
df %>%
distinct(Job_Bin, .keep_all = TRUE)
# Job_Bin Code
#1 EXECUTIVE 101
#2 STAFF ASSISTANTS 102
#3 BARREL RIDER 103
或基本R中的
唯一
`
unique(df)
df%>%不同(作业箱、代码、.keep\u all=TRUE)
输出:
当然可以,但是dplyr?@JohnThomas添加了一个带有
dplyr
的更新。希望有帮助@约翰索瘤伴有tidyverse
,这是典型的治疗方法。谢谢
library(dplyr)
df %>%
distinct
df %>%
distinct(Job_Bin, .keep_all = TRUE)
# Job_Bin Code
#1 EXECUTIVE 101
#2 STAFF ASSISTANTS 102
#3 BARREL RIDER 103
unique(df)