Я написал эту функциюПрименить функцию двух аргументов в п два матрицы
tippett <- function(p1, p2) {
t <- 1 - (1 - min(p1, p2))^2
return(list(p.value=t))
}
, и я хотел бы применить его в матрице сгенерированных чисел горизонтально. Например, в этой матрице: z <- matrix(c(rbeta(5, 1, 5), rbeta(5, 1, 10)), ncol=2)
.
apply
К сожалению, кажется, не работает и использовать его таким образом s<-apply(z,1,tippett)
генерирует эту ошибку
Error in FUN(newX[, i], ...) : argument "p2" is missing, with no default
Не могли бы вы сказать мне, как я могу обойти это? Надеюсь обобщить эту процедуру на тысячи строк, и я не могу представить ее вручную.
спасибо.
Это действительно работает, спасибо. Разве это обобщается на более высокие размеры? Я имею в виду более чем два элемента строки. – JohnK
@JohnK Функция tippett принимает вектор. Итак, да, я думаю, если бы у вас были строки из элементов 24973535, они бы взяли только первые два и сгенерировали результат. – lukehawk
Скажите, что я включаю третий столбец в матрице или еще десять, как я могу изменить эту функцию, чтобы взять минимум из всех этих элементов в каждой строке? – JohnK