2016-08-03 1 views
1

Ich bin neu in RSo berechnen Sie Odds Ratio und Risk Ratio in R

Die Daten, die ich habe, ist als ein Google-Blatt beigefügt. Es ist ein kleiner Teil der Daten. Daten hat 12.274 Zeilen und 107 Spalten

, klicken Sie auf folgenden Link für die Daten https://docs.google.com/spreadsheets/d/1kpWtAxj7XTNaXowMjBsZ5lWm6LlbdE2nzH6s6Pll1Y8/edit?usp=sharing

Ich will Odds Ration und Risiko-Verhältnis mit PH und alle anderen Variablen einzeln zu berechnen. versucht, diese zu nutzen:

tab <- table(mydata[[i]],mydata[[j]]) 
OddsRatio <- epitab(tab,method = "oddsratio") 

Aber es hilft nicht. vorschlagen Bitte geben Sie die Lösung
Vielen Dank im Voraus

+0

auf der binomischen Fall so basiert, OR = \ frac {\ frac {p_1} {1-p_1}} {\ frac {p_2} {1-p_2}}. Sie müssten das für all Ihre Daten berechnen? Wie schätzen Sie Ihre Wahrscheinlichkeiten ein? – FisherDisinformation

+0

Was bedeutet "es hilft nicht". Da 'epitab' einen Tisch benötigt, braucht der Tisch Faktoren! Aber Ihre Daten scheinen fortlaufende Variablen zu haben. Diskretisieren Sie zuerst Ihre Variablen (make factors) und machen Sie die Tabs. – Robert

+0

@Robert Wollten Sie die Daten in Kategorien konvertieren ..? Ich habe das auch zu einem bestimmten Zeitpunkt verwendet Tab <- Tabelle (Schnitt (Mydata [[I]], Hübsch (Mydata [[I]])), Mydata [[J]]) – user2360884

Antwort

0

nicht sicher, ob dies ist genau das, was Sie wollen, aber vcd::oddsratio ist ein guter Anfang!

# load libraries 
library(gsheet) 
library(vcd) 
# load data 
df <- gsheet2tbl('docs.google.com/spreadsheets/d/1kpWtAxj7XTNaXowMjBsZ5lWm6LlbdE2nzH6s6Pll1Y8') 
# remove NAs 
df <- df[,-3] 
df <- df[-8,] 
# convert to matrix 
mat <- data.matrix(df, rownames.force = NA) 
# calculate odds ratio 
oddsratio(mat, log = FALSE) 
+0

Vielen Dank für Ihre Zeit . Aber, da die Daten riesig sind, würde ich eine allgemeine Methode benötigen, um die NAs zu entfernen. Und Odds Ratio ist für zwei Variablen auf einmal zu berechnen Für pH-Wert, pH-Wert klein, pH-Wert groß und so weiter – user2360884

+0

Wenn Sie Zeilen mit fehlenden Werten finden möchten, können Sie versuchen, ' complete.cases (df) '. Dies gibt Ihnen einen logischen Vektor. Wenn Sie eine Teilmenge von Daten haben wollen, die nur vollständige Fälle enthält, können Sie 'df [complete.cases (df),]' versuchen. Dies kann auch durch Ausführen dieses 'na.omit (df)' erfolgen. – HNSKD