使用数据帧值选择不同数据帧的列

时间:2016-07-12 18:36:39

标签: r dataframe

如果我不是以正确的方式发布这个问题,我在R中相对较新,请原谅。

我有一个由组合函数生成的矩阵。

double_expression_combinations <- combn(marker_column_vector,2)

此矩阵有x列和2行。每列有2行数字,用于表示名为initial的主数据框中的列号。这些列号是要测试的列的组合。 initial数据框为27列(数千行),值为1和0.测试包括使用double_expression_combinations给出的2个数字作为列号来使用initial。测试包括添加这两列中的每一行并计算总和等于2的次数。

我相信我能够提出计数部分,我只是不知道如何使用double_expression_combinations数据框中的数据从“初始”数据框中选择要测试的列。

编辑以修复评论者所做的更正

1 个答案:

答案 0 :(得分:0)

使用R确保术语准确是很重要的。 double_expression_combinations不是数据框,而是matrix。使用apply循环遍历矩阵中的列很容易。我对确切的测试有点不清楚,但这可能会成功:

 apply( double_expression_combinations, 2,  # the 2 selects each column in turn
          function(cols){ sum( initial[ , cols[1] ] + initial[ , cols[2] ] == 2) } )

'+'和'=='运算符都是矢量化的,因此在sum的调用中不需要额外的循环。