Удаление символьных строк из фрейма данных в R - PullRequest
0 голосов
/ 25 августа 2018

Я хочу удалить строки со строками символов (точные совпадения) из второго столбца в кадре данных:

Введите:

   >data

      habitat       species
         wet species1_ind1
         wet species1_ind1
         dry species2_ind1
         dry species2_ind1
         dry species3_ind1
         dry species3_ind1
         ...

Требуемый вывод (с удаленной строкой, содержащей видов2_ind1):

    >new_data

      habitat       species
         wet species1_ind1
         wet species1_ind1
         dry species3_ind1
         dry species3_ind1
         ...

В идеале я хотел бы предоставить список строк символов для удаления из кадра данных.

1 Ответ

0 голосов
/ 25 августа 2018

Вы можете сделать это с помощью %in%

data[!(data$species %in% c("species2_ind1")), ]
  habitat       species
1     wet species1_ind1
2     wet species1_ind1
5     dry species3_ind1
6     dry species3_ind1

Подробности: Выбирает строки, в которых species отсутствует в списке.Данные имеют как строки, так и столбцы.Когда вы указываете data[x,y] x дает строки, а y - столбцы.data[x, ] означает, что вы задали строки с помощью x, но берете все столбцы.Вышеупомянутое выражение берет все столбцы, но задает строки как !(data$species %in% c("species2_ind1")).
data$species %in% c("species2_ind1")) дает те строки, для которых значение data $ видов находится в списке.Но это те, которые мы хотим исключить, поэтому мы используем ! для отрицания логического выражения и получаем строки, где data$species равно , а не в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...