在所有列和一列上运行Kruskal-Wallis

时间:2016-02-04 06:14:42

标签: r statistics kruskal-wallis

我有一个价值矩阵,我有4组。我想测试4组之间每列的重要性并获得p.values。

gene1       gene2       gene3       gene4       gene5       gene6     tissue    
6194.015    12538.513   6402.715    37657.281   5112.06674  2900.9386   2
6590.853    13000.251   6524.171    6348.666    1128.63516  599.8895    3
3726.607    7558.826    3752.667    6858.63     244.1428    818.1527    4
3499.077    7011.205    3554.496    4543.82     246.97947   709.815     1
5258.485    10514.495   5254.297    11610.092   896.65712   538.375     1
3271.914    6571.995    3288.089    5711.905    413.86977   357.5344    3
5037.359    9928.198    4968.798    10830.359   676.5749    351.8337    2
6658.979    13278.01    6722.473    8823.899    1409.33648  406.3188    4

非常感谢任何帮助或建议。我也尝试用limma做这个,但是我有太多重要的基因,所以我认为它不正确。

1 个答案:

答案 0 :(得分:0)

Nev,你似乎有一些矛盾的代码:

  1. exprs <- matrix(as.numeric(exprs[,2:(ncol(exprs)-1)]),nrow=nrow(exprs))将数据框更改为矩阵,因此exprs$tissue没有意义。您可以将该列设为exprs[,7]。另外exprs <- matrix(as.numeric(exprs[,2:(ncol(exprs)-1)]),nrow=nrow(exprs))也没有必要。据我所知,您不必删除第一列和最后一列。

  2. combn似乎在创建一个列表,而不是一个矩阵。因此,在创建组合后,执行combos = matrix(unlist(combos), nrow = 2, byrow = TRUE)。这使它成为一个矩阵,那么你应该能够计算p