У меня есть набор данных, как показано ниже
df<-data.frame(name=c("alicia","samantha","john","jessie"), age=c(40,-23,30,28), income=c(100, 50, 120,60))
Я пытаюсь выбрать набор данных, у которого нет отрицательного значения и значения меньше 100. Я пытался
df[(df[,c(2:3)]>=0&df[,(2:3)]<=100),]
Но я не мог удалить значения, которые больше 100, и я получил много 'NA's
, как показано ниже.
# name age income
# 1 alicia 40 100
# 3 john 30 120
# 4 jessie 28 60
# NA <NA> NA NA
# NA.1 <NA> NA NA
# NA.2 <NA> NA NA
Я хотел бы выполнять эту работу без функций apply
и subset
.
Последний набор данных, который я хотел бы получить, это:
# name age income
# 1 alicia 40 100
# 2 jessie 28 60
Кстати, кто-то может объяснить мне, почему я получил дополнительные строки с NAs
с моим кодом df[(df[,c(2:3)]>=0&df[,(2:3)]<=100),]
?