用于删除列的 R 代码说明

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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) 中。我已经添加了一个指向处理相同问题的问题的链接。

以上是关于用于删除列的 R 代码说明的主要内容,如果未能解决你的问题,请参考以下文章

如何将 OneHotEncoder 用于多列并自动删除每列的第一个虚拟变量?

在 dplyr tbl_df 中删除列的最佳实践

网页抓取(在 R 中?)

R语言怎么按条件删除某些行?

VBA之行与列的插入与删除

填写 B 列的 VBA 代码