Selecionando colunas no quadro de dados R com base naqueles * não * em um vetor
Estou familiarizado com a capacidade de extrair colunas de um quadro de dados R (ou matriz) da seguinte forma:
df.2 <- df[, c("name1", "name2", "name3")]
Mas pode-se usar um!
ou outra ferramenta para selecionartodos, exceto as colunas listadas?
Para o fundo, eu tenho um quadro de dados com alguns vetores de coluna e gostaria de evitar:
Digitando a maioria dos nomes quando eu poderia apenas remover uma minoriaUsando o muito mais curtodf.2 <- df[, c(1,3,5)]
porque quando meu arquivo .csv muda, meu código vai para o inferno, já que a numeração não é mais a mesma. Sou novo em R e acho que aprendi da maneira mais difícil não usar vetores numéricos para dfs maiores que podem mudar.Eu tentei:
df.2 <- df[, !c("name1", "name2", "name3")]
df.2 <- df[, !=c("name1", "name2", "name3")]
E assim que eu estava digitando isso, descobri que isso funciona:
df.2 <- df[, !names(df) %in% c("name1", "name2", "name3")]
Existe uma maneira melhor do que esta última?