Р: Как создать таблицу результатов по результатам нескольких статистических тестов? - PullRequest
1 голос
/ 25 февраля 2020

Я полный новичок в R.

Я провел несколько тестов хи-квадрат для столбца данных в R с этим кодом:

apply(mydata, 2, chisq.test, p=expected.probability)

и получил несколько таких результатов :

$ Primary Tumor

критерий хи-квадрат для заданных вероятностей

данные: newX [, i] X-квадрат = 515108, df = 6, р-значение <2,2e-16 </p>

$ Primary Tumor_1

критерий хи-квадрат для заданных вероятностей

данные: newX [, i] X-квадрат = 583205, df = 6, значение p <2,2e-16 </p>

$ Primary Tumor_2

критерий хи-квадрат для заданных вероятностей

данные: newX [, i] X- квадрат = 58089, df = 6, значение p <2.2e-16 </p>

Может ли быть извлечена таблица результатов с номером опухоли, результатами x-квадрата, df и значением p 50 образцов, которые я тестировал?

Я могу копировать и вставлять в Excel, но я хочу изучить код для большего образца.

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Вы видите названия теста chisq:

names(chisq.test(matrix(1:4,ncol=2)))
[1] "statistic" "parameter" "p.value"   "method"    "data.name" "observed" 
[7] "expected"  "residuals" "stdres" 

Вам нужны следующие значения: statisti c (chisq), параметр (df), p.value.

Таким образом, мы моделируем данные:

mydata = matrix(rpois(100,50),ncol=10)
colnames(mydata) = paste0("tumor",1:10)

И пишем более сложную функцию для извлечения этих параметров после теста

res = apply(mydata,2,function(x){
chisq.test(x,p=rep(0.1,10))[c("statistic","parameter","p.value")]
})

И мы делаем это data.frame:

df = data.frame(id=names(res),do.call(rbind,res))
df

             id statistic parameter   p.value
tumor1   tumor1  4.322896         9 0.8889048
tumor2   tumor2  5.285714         9 0.8087245
tumor3   tumor3  2.803063         9 0.9715936
tumor4   tumor4   8.62578         9 0.4725097
tumor5   tumor5  13.22846         9 0.1525381
tumor6   tumor6  8.653768         9 0.4698283
tumor7   tumor7  7.666667         9 0.5680554
tumor8   tumor8  5.919132         9 0.7479838
tumor9   tumor9  8.051335         9 0.5289813
tumor10 tumor10  13.46875         9 0.1425173
0 голосов
/ 25 февраля 2020

попробуйте

df <- apply(mydata, 2, chisq.test, p=expected.probability)

просто присваиваете переменную, к которой можно получить доступ из вашей среды ... проверьте и этот вопрос, он также может вам помочь. критерий хи-квадрат для каждой строки во фрейме данных

...