2017-02-05 3 views
1

У меня есть dataframe, который мне нужно разбить на основе значений в одном из столбцов - большинство из них либо 0, либо 1, но пара - это NA, которые я не могу получить, чтобы сформировать подмножество. Это то, что я сделал:Как разбить кадр данных с отсутствующими значениями?

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

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

но все содержащиеся в 403 строк, что означает, что 38 значения NA были опущены, и я не знаю, как сформировать аналогичное подмножество в те выше с ними. Какие-либо предложения?

+2

Лучше включить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610). Это облегчает другим людям помощь. – Jaap

+0

Hacky soln просто заменит NA с фиктивным значением перед разбиением –

+0

Можете ли вы запустить 'sapply (split, dim)'? Это скажет нам, есть ли у вас NA в переменной 'case_con'. –

ответ

0

Попробуйте это:

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

Это должно лавировать на кадре данных подмножества с САМ, как последний в списке ...

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

Я думаю, что это будет работать. Ty