r语言 - 如何编码获得基于满足两个条件的唯一元素的输出向量列表?



我试图根据r中两列的条件获得唯一元素列表

例如,我有4个组,我想获得组1中参与者的唯一名称列表。

需要在代码中指定两个条件:

独特(df参与者XXX_group_XXX美元)。

如何专门编码这个条件,以获得满足两个条件的输出向量列表?

仅使用基数R的简单解决方案:

set.seed(7*11*13)
name <- sample(LETTERS[1:10], 100, replace=TRUE)
G <- sample(1:5, 100, replace=TRUE)

U <- tapply(name, G, unique) 
> U
$`1`
[1] "G" "F" "D" "B" "J" "A" "E" "H" "C"
$`2`
[1] "C" "J" "D" "B" "F" "G"
$`3`
[1] "C" "G" "H" "D" "F" "E" "I" "B" "J"
$`4`
[1] "F" "B" "G" "E" "I" "C" "H" "D" "J"
$`5`
[1] "G" "D" "A" "H" "F" "E" "B" "J" "C"

这对你有用吗?我需要先创建一个数据帧。然后,我筛选您希望看到的组,并获得每个组的唯一值。

library(dplyr)

seed <- 123
# create some data    
data <- data.frame(
name = sample(LETTERS, size = 100, replace = TRUE),
group = sample(c(1, 2, 3, 4), size = 100, replace = TRUE)
)

# base R
unique(data[data$group == 1, 1])
# or:
unique(data[data$group == 1, "name"])

# tidyverse
data %>%
filter(group == 1) %>%
distinct(name) %>%
pull() # if you want a vector to be returned

最新更新