Как использовать lapply с формулой?


У меня есть проблема с функцией lapply, и я не нашел ни одного соответствующего вопроса, опубликованного ранее. Мне нужно применить тест перестановки ко всем элементам списка, однако я не могу правильно настроить lapply.

Я пытаюсь это

testperm <- lapply(test-list, FUN=perm.test, formula=(cover ~ group))

Функция Пермь.тест из пакета "exactRankTests" покрытие является зависимой (числовой) переменной, а группа-фактором.

Любые подсказки о том, как применить такую функцию, были бы очень признательны. Йенс

2 8

2 ответа:

При использовании формулы часто также требуется указать значение аргумента data, чтобы функция знала, какие данные использовать. Ваши наборы данных будут элементами списка, поэтому вам нужно использовать анонимную функцию, чтобы предоставить их в Пермь.тест.

В этом случае попробуйте:

testperm <- lapply(test.list, FUN=function(x) perm.test(formula=(cover ~ group),data=x)) 

Это ваш Третий аргумент, на который вам нужно взглянуть.

lapply принимает (по крайней мере) два аргумента, список (ВКЛ. фрейм данных) и функция , FUN, которая работает на нем:

data(iris)
df0 = iris[1:5,1:3]

fnx = function(v){v^2}

lapply(df0, fnx)

Lapply принимает необязательныйТретий аргумент, который должен соответствовать дополнительным аргументам, требуемым FUN и Не , предоставленным структурой данных первого аргумента lapply:

lapply( df0[,1], quantile, probs=1:3/4)