【问题标题】:Explanation for R code used to delete column用于删除列的 R 代码说明
【发布时间】:2019-06-20 01:37:31
【问题描述】:

谁能告诉我以下用于有条件地删除数据框列的代码的逐段含义?

df2=df[,!names(df)%in%c("column")]

条件: column 是我要从数据框 df 中删除的列。 df2 是新的数据框。

【问题讨论】:

    标签: r dataframe dataset data-science semantics


    【解决方案1】:

    让我们分解一下:

    df2=df[,!names(df)%in%c("column")]
    

    df 是我们的数据框。 所以我们在 df 中选择不是“列”的列。

    选择列如下:

    df[,mycol]
    

    names(df) 选择列名。 ! 是一个伪造者(否定标记),它告诉我们从 df 的列名中选择不是“列”的列。

    !names(df)%in%c("column")
    

    然后我们将我们的选择分配给df2(一个新的数据框)。

    插图: 这会选择所有不是Species.的列

    iris[,!names(iris)%in%c("Species")]
    
    
     Sepal.Length Sepal.Width Petal.Length Petal.Width
    1           5.1         3.5          1.4         0.2
    2           4.9         3.0          1.4         0.2
    3           4.7         3.2          1.3         0.2
    

    原来的列是什么?

    names(iris)
    [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species" 
    

    %in% 运算符 在这里得到了详尽的解决: The R %in% operator

    【讨论】:

    • 感谢您的回答。你能解释一下R中的%是什么吗?我还是不知道是什么。
    • 这被视为%in%,几乎(但不完全)等于“==”。它检查 A 是否在 B(A%in%B) 中。我已经添加了一个指向处理相同问题的问题的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2016-02-19
    • 2013-09-12
    • 2017-01-23
    • 2014-09-21
    • 2016-06-01
    • 2015-01-13
    相关资源
    最近更新 更多