Векторизация проп.теста над фреймом данных в 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, как указано в вашем сообщении об ошибке.