2017-01-10 2 views
1

Как удалить столбцы на основе условия, когда это условие является символом, содержащимся в имени столбца? Например, после серии внутренних соединений Я получаю много избыточных столбцов:R удалять столбцы на основе символа, содержащегося в имени столбца

client.x, client.y, age.y. age.x 
    132  132  23 23 
    112  112  12 12 

Я хотел бы один вкладыш, чтобы удалить все столбцы, содержащие, например, в «.x», в конечном итоге с:

client.y, age.y. 
    132  23 
    112  12 

Благодаря

+0

Используйте 'df1 [Grep ("\\. Х", имена (df1), инвертный = TRUE)]' ' – akrun

+1

dplyr :: выберите (Д.Ф., -contains (" х"))' – Nate

+0

Спасибо, это работает. Можем ли мы использовать модифицированную версию этого кода для переименования столбцов, удалив «.x»? –

ответ

1

Мы можем использовать grep, чтобы определить имена столбцов, которые имеют .x и с использованием invert=TRUE, он возвращает индекс других столбцов

df1[grep("\\.x", names(df1), invert=TRUE)] 
# client.y age.y. 
#1  132  23 
#2  112  12