如何从R数据框中删除列?

通过使用子集函数可以轻松完成此操作。

示例

> df <- data.frame(x=1:5, y=6:10, z=11:15, a=16:20)
> df
x  y  z  a
1 1 6 11 16
2 2 7 12 17
3 3 8 13 18
4 4 9 14 19
5 5 10 15 20

仅删除一列

> df <- subset (df, select = -x)
> df
y z a
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20

删除两列

> df <- data.frame(x=1:5, y=6:10, z=11:15, a=16:20)
> df <- subset (df, select = -c(x,y))
> df
z a
1 11 16
2 12 17
3 13 18
4 14 19
5 15 20

删除一系列列

> df <- data.frame(x=1:5, y=6:10, z=11:15, a=16:20)
> df <- subset (df, select = -c(x:z))
> df
a
1 16
2 17
3 18
4 19
5 20

删除单独的列

> df <- data.frame(x=1:5, y=6:10, z=11:15, a=16:20)
> df <- subset (df, select = -c(x,z:a))
> df
y
1 6
2 7
3 8
4 9
5 10