J'utilise R, et j'ai deux data.frames, A
et B
. Ils ont tous les deux 6 rangées, mais A
a 25000 colonnes (gènes), et B
a 30 colonnes. Je voudrais appliquer une fonction avec deux arguments f(x,y)
où est chaque colonne de A
et y
est chaque colonne de B
. Jusqu'à présent, il ressemble à ceci:Appliquer sur deux trames de données
i = 1
for (x in A){
j = 1
for (y in B){
out[i,j] <- f(x,y)
j = j + 1
}
i = i + 1
}
Je soulève deux problèmes: de ma programmation Python j'associe le suivi des compteurs comme celui-ci comme crufty, et de ma programmation R Je suis nerveux pour les boucles. Cependant, je ne peux pas vraiment voir comment appliquer apply
(ou même si je devrais appliquer apply
) à ce problème et j'espérais que quelqu'un pourrait m'éclairer. J'ai besoin de traiter f()
comme atomique (c'est en fait cor.test()
) pour l'instant.
Selon 'f', cela semble similaire au produit interne. Je sais avec le produit externe, vous pouvez spécifier une fonction à utiliser, mais je ne sais pas comment le faire pour le produit intérieur. – James
J'hésite à suggérer quoi que ce soit comme je suis un tout nouvel utilisateur de R, mais j'ai eu beaucoup de succès en utilisant le paquetage plyr pour la manipulation de données. http://had.co.nz/plyr/ – dnagirl