A:如何删除除某些特定列之外的所有列


您可以使用以下方法从 R 数据框中删除除某些列之外的所有列:

方法一:使用Base R

 df <- df[c(' col2 ', ' col6 ')]

方法2:使用dplyr

 library (dplyr)

df <- df %>% select(col2, col6)

这两种方法都会从数据框中删除除名为col2col6的列之外的所有列。

以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28),
                 assists=c(5, 7, 7, 9, 12, 9, 9, 4),
                 rebounds=c(11, 8, 10, 6, 6, 5, 9, 12),
                 steals=c(4, 3, 3, 2, 5, 4, 3, 8),
                 blocks=c(1, 0, 0, 3, 2, 2, 1, 5))

#view data frame
df

  team points assists rebounds steals blocks
1 A 18 5 11 4 1
2 B 22 7 8 3 0
3 C 19 7 10 3 0
4 D 14 9 6 2 3
5 E 14 12 6 5 2
6 F 11 9 5 4 2
7 G 20 9 9 3 1
8:28 4 12 8 5

示例 1:使用 Base R 删除除特定列之外的所有列

我们可以使用以下语法从数据框中删除除之外的所有列:

 #drop all columns except points and blocks
df <- df[c(' points ', ' blocks ')]

#view updated data frame
df

  point blocks
1 18 1
2 22 0
3 19 0
4 14 3
5 14 2
6 11 2
7 20 1
8 28 5

请注意,仅保留点列列。

所有其他列均已删除。

示例 2:使用 dplyr 删除除某些列之外的所有列

我们还可以使用dplyr包中的select()函数从数据框中删除除之外的所有列:

 library (dplyr)

#drop all columns except points and blocks
df <- df %>% select(points, blocks)

#view updated data frame
df

  point blocks
1 18 1
2 22 0
3 19 0
4 14 3
5 14 2
6 11 2
7 20 1
8 28 5

请注意,仅保留点列列。

这与前面示例的结果相匹配。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如果名称包含 R 中的特定字符串,如何删除列
如何使用 dplyr 删除多列
如何在R中删除具有NA值的列

添加评论

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