Pode utilizar as seguintes funções do pacote dplyr em R para selecionar colunas que não comecem com uma cadeia específica:

Método 1: selecionar colunas que não começam com uma cadeia de caracteres específica

 df %>% select(-starts_with(" string1 ")) 

Método 2: selecionar colunas que não começam com uma de várias cadeias de caracteres

 df %>% select(-starts_with(c(" string1 ", " string2 ", " string3 "))) 

Os exemplos seguintes mostram como utilizar cada um destes métodos na prática com a seguinte estrutura de dados em R:

 #criar quadro de dados df <- quadro de dados (store1_sales=c(12, 10, 14, 19, 22, 25, 29), store1_returns=c(3, 3, 2, 4, 3, 2, 1), store2_sales=c(8, 8, 12, 14, 15, 13, 12), store2_returns=c(1, 2, 2, 1, 2, 1, 3), promotions=c(0, 1, 1, 1, 1, 0, 0, 1)) #ver quadro de dados df store1_sales store1_returns store2_sales store2_returns promotions 1 12 3 8 1 0 2 10 3 8 2 1 3 14 2 12 2 1 4 19 4 14 1 1 5 22 3 15 2 0 6 252 13 1 0 7 29 1 12 3 1 

Exemplo 1: Selecionar colunas que não começam com uma cadeia de caracteres específica

O código a seguir mostra como usar o -starts_with() para selecionar apenas as colunas que não começam por "store1" no quadro de dados:

 library (dplyr) #selecionar todas as colunas que não comecem por "store1" df %>% select(-starts_with(" store1 ")) store2_sales store2_returns promotions 1 8 1 0 2 8 2 1 3 12 2 1 4 14 1 1 5 15 2 0 6 13 1 0 7 12 3 1 

Repare que as duas colunas que começam com "store1" não são devolvidas.

Exemplo 2: Selecionar colunas que não começam com uma de várias cadeias de caracteres

O código a seguir mostra como usar o -starts_with() para selecionar apenas as colunas que não começam por "store1" ou "prom" no quadro de dados:

 library (dplyr) #selecionar todas as colunas que não começam por "store1" ou "prom" df %>% select(-starts_with(c(" store1 ", " prom "))) store2_sales store2_returns 1 8 1 2 8 2 3 12 2 4 14 1 5 15 2 6 13 1 7 12 3 

Repare que as colunas que começam por "store1" ou "prom" não são devolvidas.

Nota : Por defeito, o starts_with() não faz distinção entre maiúsculas e minúsculas. Para tornar a função sensível a maiúsculas e minúsculas, utilize a opção ignore.case=FALSE dentro da função.