Как выбрать строки с определенным значением в r? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь отредактировать свой фрейм данных, но не могу найти нужную мне функцию, чтобы разобраться в этом.
У меня есть фрейм данных, который выглядит примерно так:

Title                  Description       Rating
Beauty and the Beast   a                 2.5
Aladdin                b                 3
Coco                   c                 2

et c.
(рейтинг от 1 до 3)

Я пытаюсь отредактировать свой фрейм данных, чтобы получить новый фрейм данных, в котором нет десятичных чисел для столбца рейтинга.
т.е. новый фрейм данных будет:

Title                  Description       Rating
Aladdin                b                 3
Coco                   c                 2

Поскольку рейтинг Beaty and the Beast не 1, 2 или 3.

Мне кажется, что в R есть простая функция, которую я просто не могу найти в Google , и я надеялся, что кто-нибудь может помочь.

Ответы [ 3 ]

1 голос
/ 19 июня 2020

Вы можете получить остаток после деления на 1 и выбрать строки, в которых остаток равен 0.

subset(df, Rating %% 1 == 0)

#    Title Description Rating
#2 Aladdin           b      3
#3    Coco           c      2
1 голос
/ 19 июня 2020

Мы можем использовать subset (от base R) для сравнения целочисленных преобразованных значений 'Rating'

subset(df1, Rating == as.integer(Rating))
#    Title Description Rating
#2 Aladdin           b      3
#3    Coco           c      2

Или, если мы сравниваем со спецификациями c set значений, используйте %in%

subset(df1, Rating %in% 1:3)

данные

df1 <- structure(list(Title = c("Beauty and the Beast", "Aladdin", "Coco"
), Description = c("a", "b", "c"), Rating = c(2.5, 3, 2)),
class = "data.frame", row.names = c(NA, 
-3L))
0 голосов
/ 19 июня 2020

Вы хотите использовать функцию dplyr в R

  library(dplyr)

  df1 %>%
    filter(R != 2.5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...