Comment utiliser lapply avec une formule?

j'ai un problème avec la fonction lapply et je n'ai trouvé aucune question correspondante postée plus tôt. Je dois appliquer un test de permutation à tous les éléments de la liste, mais je ne suis pas en mesure de configurer le lapply correctement.

je suis en train de ce

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

la fonction perm.le test est du paquet "exactRankTests" la couverture est la variable dépendante (numérique) et le groupe est un facteur.

Tous les conseils sur la façon d'appliquer une telle fonction serait très bien apprécier. jens

8
demandé sur Jens 2011-08-10 14:27:59

2 réponses

Lorsque vous utilisez une formule, vous devez également fournir une valeur à une data argument ainsi la fonction sait quelles Données utiliser. Vos ensembles de données seront les éléments de la liste, vous devez donc utiliser une fonction anonyme pour les fournir à perm.test.

Dans ce cas essayer:

testperm <- lapply(test.list, FUN=function(x) perm.test(formula=(cover ~ group),data=x)) 
9
répondu James 2011-08-10 12:08:53

troisième argument que vous devez jeter un oeil.

lapply a (au moins) deux arguments liste(incl. bloc de données) et un function, AMUSANT, qui fonctionne sur:

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

fnx = function(v){v^2}

lapply(df0, fnx)

lapply accepte un troisième argument qui doit correspondre aux arguments supplémentaires requis par FUN et fourni par les données du premier argument de lapply structure:

lapply( df0[,1], quantile, probs=1:3/4)
2
répondu doug 2011-08-10 11:01:52