Запустите Крускал-Уоллис на всех столбцах против одного столбца
У меня есть матрица значений, и у меня есть 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 ответ
Нев, кажется, у вас есть несколько противоречивых строк кода:
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))
не обязательно. Насколько я могу судить, вам не нужно удалять первый и последний столбцы.Кажется, что combn создает список, а не матрицу. Поэтому после создания комбо
combos = matrix(unlist(combos), nrow = 2, byrow = TRUE)
, Это делает его матрицей, тогда вы должны быть в состоянии рассчитатьp
,