Запустите Крускал-Уоллис на всех столбцах против одного столбца

У меня есть матрица значений, и у меня есть 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

Любая помощь или предложения будут с благодарностью. Я пытался сделать это и с лиммой, но у меня было слишком много важных генов, поэтому я считаю, что это неправильно.

1 ответ

Нев, кажется, у вас есть несколько противоречивых строк кода:

  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,

Другие вопросы по тегам