[英]How to collect all combinations of characters in vectors as a list of vectors of characters?
假設我有兩個向量:
x <- c("A", "B")
y <- c("C")
然后我想通過以下方式查找並收集x
和y
的所有組合:
DesiredOutput <- list(c('A', 'C'), c('B', 'C'))
我嘗試將expand.grid
與split
結合使用,如下所示:
xy.df <- expand.grid(x, y)
xy.list <- split(xy.df, 1:nrow(xy.df))
但是,這不會產生所需的 output,因為例如xy.list[[1]][1]
不再是字符。 如果我嘗試簡單地執行as.character(xy.list[[1]][1])
那么這將返回一個"1"
。 那么,我能做些什么呢?
調整 stackoverflow.com/questions/38221588/combinations-by-group-in-r 中的答案,您可以嘗試:
library(dplyr)
library(tidyr)
df1 <- data.frame(x, y) |>
pivot_longer(everything()) |>
distinct() |>
group_by(name)
as.data.frame(t(combn(df1$value, 2)))
#> V1 V2
#> 1 A C
#> 2 A B
#> 3 C B
創建於 2022-12-10,使用reprex v2.0.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.