2017-02-05 2 views
1

Ich habe einen Datenrahmen, den ich basierend auf den Werten in einer der Spalten teilen muss - die meisten von ihnen sind entweder 0 oder 1, aber ein paar sind NA, die ich nicht bekommen kann, um eine Teilmenge zu bilden. Dies ist, was ich getan habe:Wie teilt man einen Datenrahmen mit fehlenden Werten?

all <- read.csv("XXX.csv") 
splitted <- split(all, all$case_con) 

dim(splitted[[1]]) #--> gives me 185 
dim(splitted[[2]]) #--> gives me 180 

aber alle enthalten 403 Zeilen, was bedeutet, dass 38 NA-Werte wurden ausgelassen, und ich weiß nicht, wie die, die oben mit ihnen eine ähnliche Untergruppe bilden. Irgendwelche Vorschläge?

+2

Es ist besser, ein [reproduzierbares Beispiel] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) einzuschließen. Das erleichtert es anderen Menschen, Ihnen zu helfen. – Jaap

+0

Hacky Soln würde nur sein, die NAs durch einen Dummy-Wert zu ersetzen, bevor –

+0

gespalten wird Kannst du 'sapply (gespaltet, dim)' ausführen? Dies sagt uns, ob Sie irgendwelche NAs in Ihrer 'case_con'-Variable haben. –

Antwort

0

Versuchen Sie folgendes:

splitted<-c(split(all, all$case_con,list(subset(all, is.na(case_con)))) 

Diese auf den Datenrahmen Teilmenge mit den nationalen Agenturen als das letzte in der Liste heften sollte ...

0
list(split(all, all$cases_con), split(all, is.na(all$cases_con))) 

Ich denke, es wäre Arbeit sein. Ty

Verwandte Themen