Векторизация проп.теста над фреймом данных в R

Это основной вопрос, для которого я получаю следующую ошибку.

Ошибка в prop.test: "x" и "n" должны иметь одинаковую длину

с этим кодом

cv_MH$pval <- (prop.test(x = c(cv_MH$search, cv_MH$against), n = c(size, size2)))$p.value

где size а также size2 являются постоянными числами, которые являются большими (>200 000).

Это то, что cv_MH похоже

search    against
45        23
384       274
657       883

По сути, я пытаюсь создать другую переменную в cv_MH, которая вычисляет значение p.

Благодарю.

1 ответ

Решение

Я думаю, что вам нужно повторить счет (п) для каждого значения в х. Как насчет этого?

cv_MH$pval <- prop.test(x = c(cv_MH$search, cv_MH$against), 
                        n = c(rep(size, length(cv_MH$search)),
                              rep(size2, length(cv_MH$against))))$p.value

x указывает количество успешных (интересующих событий), а n - общее количество событий... x должен иметь такую ​​же длину n, как указано в вашем сообщении об ошибке.

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