2016-05-06 2 views
1

Dies ist ein Coursera-Kurs, der von uns R-Programmierung ohne vorherige Erfahrung mit R erwartet, und ich versuche wirklich schwer zu verstehen, aber habe keine Ahnung. Ich habe sogar grundlegende R-Tutorials überprüft, aber immer noch keine Ahnung.R Binomial Test Einstellungen, Datenrahmen

Wir haben eine CSV-Datei, Inhalt:

  • Themen: 30
  • Behinderung: 0, 1
  • Vorlieben: Trackball, Touchpad

Für Menschen ohne Behinderung, führen ein Binomial-Test, um zu sehen, ob sich ihre Präferenz für Touchpads signifikant vom Zufall unterscheidet. Auf den nächsten Zehntausendstel (vier Ziffern), was ist der p-Wert? Tipp: Führen Sie einen Binomial-Test durch, bei dem die Anzahl der Reihen von Menschen ohne Behinderungen, die das Touchpad bevorzugen, mit der Anzahl aller Reihen von Menschen ohne Behinderungen verglichen wird. Mit zwei möglichen Vorlieben, Touchpad und Trackball, wäre die Chance Wahrscheinlichkeit 1/2. Korrigieren Sie nicht mehrere Vergleiche. Betrachten Sie dies als einen einzigen Test für eine Teilmenge der Daten.

Die Lösung sein soll:

  • Zuerst Intuition gewinnen, indem sie die Präferenzen der Menschen ohne Behinderung Plotten:

    plot(df[df$Disability == "0",]$Pref) 
    
  • Zweitens testen Sie die Präferenz für Touchpads vs. Rollkugeln gegen Chance , das wäre egal:

    binom.test(sum(df[df$Disability == "0",]$Pref == "touchpad"), 
          nrow(df[df$Disability == "0",]), p=1/2) 
    plot(df[df$Disability == "0",]$Pref) 
    

Ich verstehe, dass dies eine visuelle Darstellung der Einstellungen von Disability = 0, aber es gibt einen Fehler mit dem dfs und ich weiß nicht, wie Sie es korrigieren. Kann mir bitte jemand helfen?

+2

Es wäre besser, wenn Sie die Daten zur Verfügung stellen, mit denen Sie arbeiten, damit wir Ihren Code reproduzieren können. Probiere 'dput' aus, oder lade dieses csv irgendwo hoch und poste einen Link. –

+3

Bitte fügen Sie auch die Fehlermeldung in der Frage hinzu. –

+0

Danke für den Versuch zu helfen! Ich habe gerade herausgefunden, dass ich "df" durch den Namen des eingebauten XTabs ersetzen muss. Dateien: https://www.dropbox.com/s/rd796wor7by5uky/DesignExperiments_R.Rproj?dl=0 https://www.dropbox.com/s/cig2u4d5vpkjma1/deviceprefs.csv?dl = 0 – testimo

Antwort

0

simulierte ich einen zufälligen Datensatz mit den angegebenen Eigenschaften und alles funktioniert gut:

df <- data.frame(Subject = c("Sub1", "Sub2", "Sub3", "Sub4", "Sub5", "Sub6", "Sub7", "Sub8", "Sub9", "Sub10", "Sub11", "Sub12", "Sub13", "Sub14", "Sub15", "Sub16", "Sub17", "Sub18", "Sub19", "Sub20", "Sub21", "Sub22",  "Sub23", "Sub24", "Sub25", "Sub26", "Sub27", "Sub28", "Sub29", "Sub30"), 
       Disability = c("0", "0", "1", "1", "1", "1", "0", "0", "0", "1", "1", "0", "0", "0", "0", "1", "0", "0", "1", "0", "0", "0", "0", "1", "1", "1", "0", "0", "1", "0"), 
       Pref = c("touchpad", "touchpad", "touchpad", "trackball", "trackball", "trackball", "trackball", "trackball", "trackball", "trackball", "trackball", "trackball", "touchpad", "trackball", "trackball", "touchpad", "touchpad", "trackball", "touchpad", "trackball", "touchpad", "touchpad", "trackball", "touchpad", "touchpad", "touchpad", "touchpad", "touchpad", "trackball", "trackball")) 

Das Ergebnis des gegebenen Befehls ist die folgenden

binom.test(sum(df[df$Disability == "0",]$Pref == "touchpad"), 
      nrow(df[df$Disability == "0",]), p=1/2) 

    Exact binomial test 

data: sum(df[df$Disability == "0", ]$Pref == "touchpad") and nrow(df[df$Disability == "0", ]) 
number of successes = 8, number of trials = 18, p-value = 0.8145 
alternative hypothesis: true probability of success is not equal to 0.5 
95 percent confidence interval: 
0.2153015 0.6924283 
sample estimates: 
probability of success 
      0.4444444 

EDIT

Um den gleichen Test auf die realen Daten anzuwenden (Link zu der Datei in einem Kommentar), die erster Schritt soll durch einen Befehl ersetzt werden, um den Wert in dem tatsächlichen Datenrahmen gespeichert ist:

df <- read.csv("deviceprefs-1.csv") 

Auch der gegebene Befehl des Binomialtest funktioniert gut mit dem realen Datensatz durchzuführen.

+0

Vielen Dank für den Versuch @ Vincent-Guillemot Ich gab die Antwort p-Wert = 0.8145 und der Test sagte, dass es falsch ist. – testimo

+1

ich glaube, du hast meine antwort falsch verstanden: wenn ich "simuliert" gesagt habe, bedeutet das, dass ich zufällig einige daten erzeugt habe, so dass der p-wert nicht mit deinen daten übereinstimmt. –