2014-05-06 2 views
-1

Après avoir utilisé le G.test sur toutes les lignes de mes données sous-ensembleComment faire la somme de toutes les valeurs G?

apply(datamixG +1 , 1, G.test) 

Je reçois une sortie pour chaque ligne qui ressemble à ceci

[[1]] 

     G-test for given probabilities 

data: [(newX,,i) 
G = 3.9624, df = 1, p-value = 0.04653 

J'ai 46 lignes. Je dois additionner les df et les G-values. Existe-t-il un moyen pour que R rapporte différemment les valeurs G et/ou additionne toutes les valeurs G et df?

+2

Pouvez-vous donner plus de détails sur 'G.test' que vous utilisez (de quel paquet s'agit-il)? – cenka

+0

Vous pourriez améliorer vos questions en 1) Y compris tous les paquets que vous utilisez; 2) Construire des exemples reproductibles en incluant un exemple de jeu de données; 3) Écouter les utilisateurs de SO qui ont posé ces mêmes questions sur chacune de vos questions. – josliber

Répondre

0

Je suppose que vous utilisez la fonction G.test du package RVAideMemoire:

# Sample data (always a good idea to post!) 
dat <- matrix(1:4, nrow=2) 
library(RVAideMemoire) 
tests <- apply(dat, 1, G.test) 

Vous pouvez utiliser unlist et lapply pour extraire une valeur unique de chaque élément dans une liste et de revenir un vecteur de les résultats:

dfs <- unlist(lapply(tests, "[[", "parameter")) 
dfs 
# df df 
# 1 1 
sum(dfs) 
# [1] 2 

Gs <- unlist(lapply(tests, "[[", "statistic")) 
Gs 
#   G   G 
# 1.0464963 0.6795961 
sum(Gs) 
# [1] 1.726092 
Questions connexes