R語言中根據列名刪除指定的列

小鲨鱼2018發表於2024-05-20

001、 subset函式

> a <- 1:4
> b <- 4:1
> c <- 11:14
> d <- 14:11
> e <- letters[1:4]
> dat <- data.frame(a, b, c, d, e)          ## 測試資料框
> dat
  a b  c  d e
1 1 4 11 14 a
2 2 3 12 13 b
3 3 2 13 12 c
4 4 1 14 11 d
> subset(dat, select = -c(b,c,d))          ## 利用subset函式刪除b、c、d三列
  a e
1 1 a
2 2 b
3 3 c
4 4 d

002、利用列名進行過濾

> a <- 1:4
> b <- 4:1
> c <- 11:14
> d <- 14:11
> e <- letters[1:4]
> dat <- data.frame(a, b, c, d, e)                      ## 生成測試資料框
> dat
  a b  c  d e
1 1 4 11 14 a
2 2 3 12 13 b
3 3 2 13 12 c
4 4 1 14 11 d
> dat[,!colnames(dat) %in% c("b", "c", "d")]            ## 利用列名進行過濾
  a e
1 1 a
2 2 b
3 3 c
4 4 d

相關文章