Как получить общий итог в таблице списка / сетки в угловых 4?

Вот быстрое решение для этого. Скажем, у вас есть кадр данных X с тремя столбцами A, B и C:

> X<-data.frame(A=c(1,2),B=c(3,4),C=c(5,6))
> X
  A B C
1 1 3 5
2 2 4 6

Если я хочу удалить столбец, скажем B, просто используйте grep для colnames, чтобы получить индекс столбца, который вы можете использовать, чтобы опустить столбец.

> X<-X[,-grep("B",colnames(X))]

Ваш новый кадр данных X будет выглядеть следующим образом (на этот раз без столбца B):

> X
  A C
1 1 5
2 2 6

Красота grep заключается в том, что вы можете указать несколько столбцов, которые соответствуют регулярному выражению. Если у меня есть X с пятью столбцами (A, B, C, D, E):

> X<-data.frame(A=c(1,2),B=c(3,4),C=c(5,6),D=c(7,8),E=c(9,10))
> X
  A B C D  E
1 1 3 5 7  9
2 2 4 6 8 10

Вынуть столбцы B и D:

> X<-X[,-grep("B|D",colnames(X))]
> X
  A C  E
1 1 5  9
2 2 6 10

EDIT: grepl предложение Мэтью Лундберга в комментариях ниже:

> X<-data.frame(A=c(1,2),B=c(3,4),C=c(5,6),D=c(7,8),E=c(9,10))
> X
  A B C D  E
1 1 3 5 7  9
2 2 4 6 8 10
> X<-X[,!grepl("B|D",colnames(X))]
> X
  A C  E
1 1 5  9
2 2 6 10

Если я попытаюсь удалить столбец, который не существует, ничего не должно произойти:

> X<-X[,!grepl("G",colnames(X))]
> X
  A C  E
1 1 5  9
2 2 6 10
0
задан Fateme Fazli 30 December 2018 в 08:10
поделиться