2017-10-09 4 views
-1

D'abord, cet ensemble de données est-il bien rangé pour un test t?Comment exécuter un test t sur un sous-ensemble de données

https://i.stack.imgur.com/tMK6R.png

Deuxièmement, je suis en train de faire un test t échantillon pour comparer les moyens à temps 3 d'un traitement et b pour « résultat 1 ». Comment ferais-je cela?

données Exemple:

df <- structure(list(code = c(100, 100, 100, 101, 101, 101, 102, 102, 
     102, 103, 103, 103), treatment = c("a", "a", "a", "b", "b", "b", 
     "a", "a", "a", "b", "b", "b"), sex = c("f", "f", "f", "m", "m", 
     "m", "f", "f", "f", "f", "f", "f"), time = c(1, 2, 3, 1, 2, 3, 
     1, 2, 3, 1, 2, 3), `outcome 1` = c(21, 23, 33, 44, 45, 47, 22, 
     34, 22, 55, 45, 56), `outcome 2` = c(21, 32, 33, 33, 44, 45, 
     22, 57, 98, 65, 42, 42), `outcome 3` = c(62, 84, 63, 51, 45, 
     74, 85, 34, 96, 86, 45, 47)), .Names = c("code", "treatment", 
     "sex", "time", "outcome 1", "outcome 2", "outcome 3"), 
     class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -12L)) 
+2

Veuillez lire vos données dans R et afficher la sortie de dput() au lieu d'une image des données; voir aussi [Astuces de questions SO] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – www

+0

'? T.test' - contient des exemples au bas de la page. Essayez d'abord, puis si vous avez encore un problème postez votre tentative. – Gregor

+0

@Gregor J'ai essayé le test d'exemple. Le problème est que la façon dont les données sont organisées. Je pensais avoir arrangé les données au format bien rangé. Une de mes variables de résultat est prise à trois moments différents. Je voudrais juste comparer les moyennes de la variable de résultat 1 à Time = 3 pour le traitement a et le traitement b. Je ne suis pas sûr de savoir comment faire pour cela. Je pourrais réorganiser mes données, cependant, je pensais que le format actuel était un format bien rangé. Pourriez-vous regarder le dput() et voir si le format est bien rangé? – DiscoR

Répondre

0

D'abord, vous devrez définir les sous-ensembles que vous voulez tester, vous pouvez exécuter le test t. Vous n'avez pas nécessairement à stocker les sous-ensembles dans les variables comme je l'ai fait, mais cela rend la sortie du test t plus claire.

Normalement, les questions t-test, je vous recommande de l'aide fournie par t.test, mais étant donné que cela implique plus complexe subsetting, j'ai compris comment faire ici:

var_a <- df$`outcome 1`[df$treatment=="a" & df$time==3] 
var_b <- df$`outcome 1`[df$treatment=="b" & df$time==3] 

t.test(var_a,var_b) 

sortie :

Welch Two Sample t-test 

data: var_a and var_b 
t = -3.3773, df = 1.9245, p-value = 0.08182 
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval: 
-55.754265 7.754265 
sample estimates: 
mean of x mean of y 
    27.5  51.5 
+0

merci! C'est ce que je voulais faire! Je reçois toujours cette erreur. J'ai exporté l'ensemble de données dans r comme "données propres" et la variable de résultat est poids dans mon ensemble de données. T.test (df $ 'weight' [df $ traitement ==" a "& df $ temps == 3], df $' weight' [df $ traitement == "b" & df $ temps == 3], data = tidy_data) Erreur dans le poids df $: l'objet de type 'closure' n'est pas un sous-ensemble – DiscoR

+0

Cette erreur est le résultat de différences de nommage de variable. J'ai stocké vos données d'échantillon comme "df", alors qu'il semble que vous avez stocké le vôtre sous "tidy_data". Vous pouvez donc soit réexécuter le code du test t après avoir modifié toutes les références de "df" à "tidy_data", ou vice versa. Je viens de modifier les données d'échantillon fournies dans votre question pour qu'elles soient stockées sous la forme "df" pour plus de clarté. – www

+0

merci beaucoup d'avoir aidé avec ça! Je l'ai fonctionné maintenant! Pensez-vous que le format de mes données pourrait être plus net? Et quel (s) concept (s) dois-je lire pour savoir comment faire des sous-ensembles comme vous l'avez décrit ci-dessus? – DiscoR