我正在尝试创建一个网络。我有一个数据框:
。 。 v1 .v2 .v3
1 / .1 ... 2 .... 3
2 / .3 ... 4 .. 7
3 /。 6 ... 11。 9
我希望在每一行中找到所有可能的组合。例如,第一行的值为1、2、3,因此结果将是(1、2)(1、3)(2、3)。然后,我将继续仅在第二行3、4、7中返回(3、4)(3、7)(4、7)的值之间找到组合。
现在,我希望逐行执行此功能,然后将所有结果组合在一起以创建各种边缘列表以创建网络。
我已经尝试了几个小时的for函数,应用和合并迭代,但似乎无法正常工作。
有人对如何解决这个问题有任何想法吗?
最后,我是R的新手。是否有办法分解或逐步解决?如果您可以使用诸如apply,for循环和填充之类的简单功能,而不是使用奇特的特定功能,我将不胜感激。这样,我可以查看您的想法并向他们学习,以便以后将其应用于其他问题。
答案 0 :(得分:2)
您可能非常亲密
(尽管您以后应该发布尝试代码,
并使用1
之类的数据)。
使用dput
的问题是它将尝试自动简化
(针对单个矢量或矩阵),
由于apply
返回矩阵,
您绝对不希望简化。
遇到以下情况时,应使用combn
:
lapply