【问题标题】:make a vector of variable names from combinations of vectors从向量的组合中创建一个变量名向量
【发布时间】:2016-12-13 15:27:19
【问题描述】:

我有 4 个向量:

list1 <- c("a","b","c","d","e")
list2 <- c("f","g","h","i","j")
list3 <- c("k","l","m","n","o")
list4 <- c("p","q","r","s","t")

我想生成每个组合来选择这 4 个向量中的 2 个,所以我使用了:

combs <- combn(c("a","b","c","d"),2)

然后我想以这些组合(梳子的列)作为参数运行一个函数:

所以第 1 列应该给出 list1 和 list2 的组合,但我希望它作为向量 "a","b","c","d","e","f","g", "h","i","j" 而不是 "list1" "list2"

【问题讨论】:

  • 您的问题不清楚。请显示预期结果。也许combn(c(list1, list2), 2)? PS:请不要调用向量列表(即使是变量名)。一旦你有了实际的列表对象,这就会让人感到困惑。
  • 预期分享输出
  • 试试combn(paste0("list", 1:4), 2, FUN = function(x) list(mget(x, envir = .GlobalEnv)))
  • 预期输出是一个包含 "a","b","c","d","e","f","g","h","i" 的向量,"j"

标签: r


【解决方案1】:

我们可以试试

combn(paste0("list", 1:4), 2, FUN = function(x) 
                      unlist(mget(x, envir = .GlobalEnv)))

【讨论】:

  • 这确实有效,但我必须使用 unlist(combn(paste0("list", 1:7), 3, FUN = function(x) list(mget(x, envir = .GlobalEnv) ))[1]) 得到第一个组合。
  • @user3651829 在我的代码中,它是unlist(mget(x, ...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多