如何在 r 中删除多列(附示例)


通常,您可能希望从 R 的数据框中一次删除多列。

最简单的方法是使用以下语法:

 df[, c('column_name1', 'column_name2')] <- list(NULL)

例如,以下语法显示如何从给定数据框中删除第 2 列和第 3 列:

 #create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 7))

#delete columns 2 and 3 from data frame
df[, c('var2', 'var3')] <- list(NULL)

#view data frame
df

  var1 var4
1 1 1
2 3 1
3 2 2
4 9 8
5 5 7

您还可以根据索引删除列:

 #create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 7))

#delete columns in position 2 and 3
df[, c(2, 3)] <- list(NULL)

#view data frame
df

  var1 var4
1 1 1
2 3 1
3 2 2
4 9 8
5 5 7

我们可以使用以下语法从范围中删除所有列:

 #create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 7))

#delete columns in range 1 through 3
df[, 1:3] <- list(NULL)

#view data frame
df

  var4
1 1
2 1
3 2
4 8
5 7

一般来说,建议按名称而不是按位置删除列,因为如果添加或重新排列列,位置可能会发生变化。

通过使用列名称,您可以确保删除正确的列,无论其位置如何。

其他资源

如何在 R 中迭代列名
如何在R中将两列合并为一列
如何从 R 中的多列中删除异常值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注