Доступ к нечетким именам безымянного фрейма данных для удаления столбцов по именам - PullRequest
0 голосов
/ 19 сентября 2018

Это продолжение этого вопроса .@ Сотос дал правильный ответ на вопрос, но на самом деле мой вопрос был сформулирован более теоретически.

Я знаю, что все это может быть не очень практично, но это скорее из любопытства.Как я могу получить доступ к именованным атрибутам именованного объекта для «отрицательного выбора» (удаления) по имени?

«Позитивный выбор» аккуратен:

data.frame(year = 1996:1998, group = letters[1:3]) ['group']

  group
1     a
2     b
3     c

Но при таком подходе он может быстро стать громоздким с «негативным выбором», особенно для больших фреймов данных:

data.frame(year = 1996:1998, group = letters[1:3])[!names(data.frame(year = 1996:1998, group = letters[1:3])) %in% 'year']

  group
1     a
2     b
3     c

Я знаю, что вы можете использовать subset или dplyr::select:

data.frame(year = 1996:1998, group = letters[1:3]) %>% select(- year)
# or 
subset(data.frame(year = 1996:1998, group = letters[1:3]), select = -year)

  group
1     a
2     b
3     c

Но мне было интересно, есть ли другие способы, основанные на выборе с использованием [, такие какиспользовать решение foo[!names %in% x] без предварительного присвоения имени foo и без громоздкого повторения кадра данных, как в моем примере кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...