通过使用子集函数可以轻松完成此操作。
> 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