Расчет статистики для нескольких исследований в R - PullRequest
0 голосов
/ 04 июля 2018

У меня есть набор данных, в котором я хочу применить несколько тестов, таких как KS два образца. Поэтому я пытаюсь найти алгоритм, который может применить два образца теста KS ко всем образцам. Основная идея:

Допустим, у меня есть набор данных с этими наблюдениями:

       1 2 3 4
Study1 9 1 2 6
Study2 5 6 7 8
Study3 4 3 2 1
Study4 8 7 6 5
Study5 1 3 5 7
Study6 2 4 6 8
Study7 1 3 6 9
Study8 2 4 7 1
Study9 2 5 8 4
Study10 3 6 8 5

Я мог бы применить тест KS для каждого исследования со следующим:

ks.test(as.numeric(as.vector(df[1,])),as.numeric(as.vector(df[1,])))
ks.test(as.numeric(as.vector(df[1,])),as.numeric(as.vector(df[2,])))
ks.test(as.numeric(as.vector(df[1,])),as.numeric(as.vector(df[3,])))
                                   ...
ks.test(as.numeric(as.vector(df[1,])),as.numeric(as.vector(df[10,])))
ks.test(as.numeric(as.vector(df[2,])),as.numeric(as.vector(df[1,])))
                                   ...
ks.test(as.numeric(as.vector(df[10,])),as.numeric(as.vector(df[10,])))

Это привело бы к 10х10 значениям р, и моя цель - использовать это как меру расстояния.

Итак, я ищу алгоритм, который может выполнить тест KS для n x n выборок, а затем вывести p-значения в матрице n x n.

1 Ответ

0 голосов
/ 04 июля 2018

Вы ищете outer:

outer(1:10, 1:10, Vectorize(function(i,j) {ks.test(as.numeric(as.vector(df[i,])),as.numeric(as.vector(df[j,])))$p.value}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...