Удаление определенных значений из фрейма данных - PullRequest
0 голосов
/ 07 июня 2019

Я знаю, что такие потоки уже есть, но я не смог найти никаких решений.

У меня есть фрейм данных, который выглядит следующим образом:

    Name        Age     Sex     Survived
1   Allison     0.17    female  1
2   Leah        0.33    female  0
3   David       0.8     male    1
4   Daniel      0.83    male    1
5   Alex        0.83    male    1
6   Jay         0.92    male    1
7   Sara        16      female  1
8   Jade        15      female  1
9   Connor      17      male    1
10  Jon         18      male    1
11  Mary        8       female  1

Я хочу удалить возрастниже 1. Я хочу, чтобы данные выглядели так:

    Name        Age     Sex     Survived
1   Allison     NA      female  1
2   Leah        NA      female  0
3   David       NA      male    1
4   Daniel      NA      male    1
5   Alex        NA      male    1
6   Jay         NA      male    1
7   Sara        16      female  1
8   Jade        15      female  1
9   Connor      17      male    1
10  Jon         18      male    1
11  Mary        8       female  1

Или просто удалить строки с возрастом <1. </p>

Следуя другим решениям, я пробовал это, но это нене работает mydata[mydata$Age<"1"&&mydata$Age>"0"] <- NA

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Вот три способа удалить строки:

mydata[mydata$Age > 1, ]

subset(mydata, Age > 1)

filter(mydata, Age > 1)

Вот как их сделать NA:

mydata$Age[mydata$Age < 1] <- NA

Ваша проблема в том, что вы используете 1 как символ (в кавычках). Символ меньше / больше, чем работа немного отличается от чисел, поэтому будьте осторожны. Также убедитесь, что ваш столбец Возраст числовой. Лучший способ сделать это -

mydata$Age <- as.numeric(as.character(mydata$Age))

чтобы вы случайно не испортили факторные переменные.

редактировать поставить неправильные знаки. исправлено

0 голосов
/ 07 июня 2019
> mydata[mydata$Age<1, "Age"] <- NA
> mydata
      Name Age    Sex Survived
1  Allison  NA female        1
2     Leah  NA female        0
3    David  NA   male        1
4   Daniel  NA   male        1
5     Alex  NA   male        1
6      Jay  NA   male        1
7     Sara  16 female        1
8     Jade  15 female        1
9   Connor  17   male        1
10     Jon  18   male        1
11    Mary   8 female        1

Обновление

Может быть, вы можете использовать, если Age является фактором

mydata[as.numeric(as.character(mydata$Age))<1, "Age"] <- NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...