2017-06-28 2 views
1

J'ai un ensemble de données où j'ai les niveaux et les tendances pour, disons, 50 villes pour 3 scénarios. Ci-dessous l'échantillon des données -R Un exemple de test pour un ensemble de colonnes pour chaque ligne

City <- paste0("City",1:50) 

L1 <- sample(100:500,50,replace = T) 
L2 <- sample(100:500,50,replace = T) 
L3 <- sample(100:500,50,replace = T) 

T1 <- runif(50,0,3) 
T2 <- runif(50,0,3) 
T3 <- runif(50,0,3) 

df <- data.frame(City,L1,L2,L3,T1,T2,T3) 

Maintenant, à travers les 3 scénarios que je trouve le niveau minimum et tendance minimum en utilisant le code ci-dessous -

df$L_min <- apply(df[,2:4],1,min) 
df$T_min <- apply(df[,5:7],1,min) 

Maintenant, je veux vérifier si ces valeurs minimales sont nettement différent entre les niveaux et les tendances respectivement. Donc, vérifiez L_min avec les colonnes 2-4 et T_min avec les colonnes 5-7. Cela doit être fait pour chaque ville (ligne) et si significatif puis retourner quelle colonne il est significativement différent avec.

Il serait utile si quelqu'un pouvait guider comment cela peut être fait.

Merci!

+0

Vous voulez donc trouver des comparaisons statistiquement significatives telles que la valeur de la colonne 1 de la ligne L1 et L_min? 1 vs 1? – Adamm

+0

Pouvez-vous préciser ce que vous entendez par «significativement différent»? – Enigma

+0

@Adamm, Merci d'avoir regardé ça. Je veux vérifier si L_min est significativement différent de L1 & L2 & L3 pour chaque rangée (City). De même si T_min est significativement différent de T1 & T2 & T3. Une fois que j'ai ceci alors L_min et T_min sont des valeurs minimales des 3 scénarios, alors je veux comprendre dans combien de cas la valeur minimale est significativement différente pour chacun des 3 scénarios et conclure quel scénario est meilleur. – user1412

Répondre

1

Je vais mettre mon idée ici, néanmoins je suis impatient de trouver des idées pour les autres.

> head(df) 
    City L1 L2 L3  T1   T2  T3 L_min  T_min 
1 City1 251 176 263 1.162313 0.07196579 2.0925715 176 0.07196579 
2 City2 385 406 264 0.353124 0.66089524 2.5613980 264 0.35312402 
3 City3 437 333 426 2.625795 1.43547766 1.7667891 333 1.43547766 
4 City4 431 405 493 2.042905 0.93041254 1.3872058 405 0.93041254 
5 City5 101 429 100 1.731004 2.89794314 0.3535423 100 0.35354230 
6 City6 374 394 465 1.854794 0.57909775 2.7485841 374 0.57909775 
> df$FC <- rowMeans(df[,2:4])/df[,8] 
> df <- df[order(-df$FC), ] 
> head(df) 
    City L1 L2 L3  T1  T2   T3 L_min  T_min  FC 
18 City18 461 425 117 2.7786757 2.6577894 0.75974121 117 0.75974121 2.857550 
38 City38 370 117 445 0.1103141 2.6890014 2.26174542 117 0.11031411 2.655271 
44 City44 101 473 222 1.2754675 0.8667007 0.04057544 101 0.04057544 2.627063 
10 City10 459 361 132 0.1529519 2.4678493 2.23373484 132 0.15295194 2.404040 
16 City16 232 393 110 0.8628494 1.3995549 1.01689217 110 0.86284938 2.227273 
15 City15 499 475 182 0.3679611 0.2519497 2.82647041 182 0.25194969 2.117216 

Maintenant vous avez les lignes les plus différentes basées sur les colonnes 2: 4 en haut. Colonnes 5: 7 de manière analogue.

Et quelques conseils pour les tests stastical:

  1. Utilisez toujours t.test (parametrique, basée sur la moyenne) au lieu de Wilcoxon (u-mann whitney - non-paramétrique, basée sur la médiane), il a plus Puissance; CEPENDANT:

-Les ensembles de données doivent être grands ex. hipotesis: Montréal a des citoyens plus grands que le Québec; t.test fonctionnera bien quand vous prenez 100 personnes de chaque ville, donc nous avons la mesure de taille de 200 personnes 100 vs 100.

-La distribution devrait être proche de la distribution normale dans tous les échantillons; ou les deux échantillons doivent avoir une distribution similaire loin de la normale - il peut être binominal. Quoi qu'il en soit, nous ne pouvons pas utiliser ce test lorsqu'un échantillon a une distribution normale, et la seconde ne l'a pas. -La taille des deux échantillons doit être eqal, donc 100 vs 100 est correct, mais 87 vs 234 pas exactement, p-value sera inférieur à 0,05, mais il peut être déformé.

Si vos données ne remplissent pas les conditions ci-dessus, je préfère les tests non-paramétriques, moins de puissance mais plus résistants.

+1

Merci beaucoup !! C'était la réponse de placard à mon exigence. – user1412