сохранить NA и пустые строки в data.frame - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть этот набор данных:

ID FARM WEIGHT
1   2    NA
2   2    
3   3    57
4   4    58
5   7    NA

И я хочу выбрать пустую и NA строки, мне нужны мои data.frame таким образом:

 ID FARM WEIGHT
 1   2    NA
 2   2    
 5   7    NA

Я попробовал этот код:

newfile <- dataset[!(is.na(dataset$WEIGHT) | dataset$WEIGHT != ''),]

но не работает, я получил пустой набор данных.

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019

Просто используйте -

dt[!complete.cases(dt), ]

ИЛИ

dt[rowSums(is.na(dt) | dt=="") > 0,]

Выход -

   ID FARM WEIGHT
1  1    2     NA
2  2    2     NA
5  5    7     NA

Примечание - Если вы хотите read непосредственно из файла, вы также можете сделать-

dt<- read.csv("file.csv", na.strings=c("NA",""))

2 голосов
/ 22 апреля 2019

Я попробовал ваш код, разве вы не должны использовать dataset[is.na(dataset$WEIGHT) | dataset$WEIGHT=="",]?Следующий код работает.

dataset <- data.frame(ID=1:5, FARM=c(2, 2, 3, 4, 7), WEIGHT=c(NA, "", "57", "58", NA) )

dataset[is.na(dataset$WEIGHT) | dataset$WEIGHT=="",]

#   ID FARM WEIGHT
# 1  1    2   <NA>
# 2  2    2       
# 5  5    7   <NA>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...