我有约8000个向量的列表,我想知道这8000个向量中有多少个重复项,但是每个元素的顺序可能不同。
例如:
list <- c()
list[[1]] <- c(1,2,3)
list[[2]] <- c(2,1,3)
list[[3]] <- c(3,2,1)
list[[4]] <- c(4,5)
list[[5]] <- c(5,4)
list[[6]] <- c(1,2,3,5)
应该给我计数c(1,2,3)
为3,c(4,5)
为2,c(1,2,3,5)
为1
我想要每个重复项的数量,而不仅仅是重复的数量。
答案 0 :(得分:1)
我们创建了一个函数,将vector
作为参数('val'),然后使用list
遍历sapply
,检查all
是否为'val { {1}}%in%are
和the 'x', and
向量`
the logical
答案 1 :(得分:1)
rsync -avzh --ignore-missing-args /path/to/source /path/to/destination
结果
library(tidyverse)
library(gtools)
get_perm <- function(v) {
m <- permutations(n = length(v), r = length(v), v = v, set = F)
m[order(c(m))]
}
all <- map(list, get_perm)
unique <- map(list, get_perm) %>% unique()
res_vec <- c()
element <- c()
for(i in seq_along(unique)) {
element[[i]] <- unique[[i]] %>% unique() %>% paste(collapse = ",")
res_vec[[i]] <- all %in% unique[i] %>% sum()
}
tibble(
elements = unlist(element),
numbers = res_vec
)
# A tibble: 3 x 2
elements numbers
<chr> <int>
1 1,2,3 3
2 4,5 2
3 1,2,3,5 1
包含每个组中向量的所有单个元素,而elements
是每个组中向量的数目。