【发布时间】:2016-03-24 10:47:44
【问题描述】:
我想从命名列表中取出 2 个元素,对其应用一个函数,然后将其放入一个矩阵中,其中行名和列名分别是组合的第一个和第二个元素的名称。 例如,我有这个命名列表:
input <- list(a="tom", b="dick", c="harry")
作为组合元素的函数,我将使用paste0 矩阵的结果将是:
a b c
a NA "tomdick" "tomharry"
b NA NA "dickharry"
c NA NA NA
我已经尝试过combn,但是我得到了:
> combn(input, 2, FUN=function(x) paste0(x[1], x[2]))
[1] "tomdick" "tomharry" "dickharry"
我该怎么做?
【问题讨论】:
-
也许只是
outer(input, input, paste0)?我不明白为什么您不希望结果中包含所有其余组合 - 因为在您想要的结果中表示了所有 3 个元素。你还没有解释那部分。
标签: r list combinations