【问题标题】:How to select rows with a certain value in r?如何在r中选择具有特定值的行?
【发布时间】:2020-10-09 02:40:19
【问题描述】:

我正在尝试编辑我的数据框,但似乎找不到解决此问题所需的功能。
我有一个大致如下所示的数据框:

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


(评分介于 1 到 3 之间)

我正在尝试编辑我的数据框,以便获得一个新的数据框,其中评级列没有十进制数字。
即:新的数据框将是:

Title                  Description       Rating
Aladdin                b                 3
Coco                   c                 2

因为比蒂与野兽的评分不是 1、2 或 3。

我觉得 R 中有一个简单的函数,我在 Google 上找不到,我希望有人能提供帮助。

【问题讨论】:

    标签: r sorting filtering sublist


    【解决方案1】:

    除以1后可以取余数,选择余数为0的行。

    subset(df, Rating %% 1 == 0)
    
    #    Title Description Rating
    #2 Aladdin           b      3
    #3    Coco           c      2
    

    【讨论】:

      【解决方案2】:

      你想在 R 中使用 dplyr 函数

        library(dplyr)
      
        df1 %>%
          filter(R != 2.5)
      

      【讨论】:

        【解决方案3】:

        我们可以使用subset(来自base R)来比较'Rating'的整数转换值

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

        或者,如果我们要与特定的一组值进行比较,请使用%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))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-13
          • 1970-01-01
          • 1970-01-01
          • 2011-07-04
          • 1970-01-01
          相关资源
          最近更新 更多