【问题标题】:Iiterate over a table?迭代一个表?
【发布时间】:2010-10-27 13:51:41
【问题描述】:

我有两张桌子。两者都使用read.table() 函数读取。

表 1

    A    B    C
S1  1    1    0
S2  2    0    NA
S3  0    2    1

表 2

    Pa    Pb    Pc
G1  0.12  0.65  0.001
G2  0.34  0.82  0.03
G3  0.2   0.64  0.87

我需要遍历两个表。具体来说,我需要逐列遍历表,并为特定列中的每个条目提取成对组合。

例如,

从表 1 的第一列中,我需要提取列 1 中元素的所有成对排列的值,即 {1, 2}, {1, 0},{2, 0}, {2 , 1}, {0, 1}, {0, 2}。

使用这些值和表 2 中的一个元素(本例中,元素 [0, 1]),我将拟合一阶线性回归模型。

有没有人有任何建议如何最好地迭代表一以隔离所有这些成对排列?

【问题讨论】:

    标签: r loops


    【解决方案1】:

    要在第一个表中按列获取组合,您可以这样做:

    apply(matrix(1:20, ncol=5), 2, combn, m=2)
    

    这取决于您希望最终数据的外观。作为一个列表可能更明智:

    apply(matrix(1:20, ncol=5), 2, function(x) list(combn(x, m=2)))
    

    【讨论】:

      猜你喜欢
      • 2011-06-13
      • 1970-01-01
      • 2016-05-14
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2021-10-05
      相关资源
      最近更新 更多