Есть ли совет / трюк для использования с () с командой, которая выводит df - PullRequest
0 голосов
/ 03 мая 2019

Ниже приведен пример того, что я избегаю:

tmp = as.data.frame(pre[grepl("Sub-visible", pre$Name) & pre$Upc == "PRDS-000853", ])
with(tmp, split(tmp, Name))

Здесь tmp - это переменная, которая создается как заполнитель, который используется во второй строке. Я обнаружил, что делаю это совсем немного, поэтому хотел узнать, есть ли способ обойтись без назначения команды (которая выводит вход, используемый в функции split ()), что-то вроде

with(as.data.frame(pre[grepl("Sub-visible", pre$Name) & pre$Upc == "PRDS-000853", ]), split(Name))

что явно не так. Я могу подумать, что, возможно, операторы труб dplyr и do(), но это также неправильно:

as.data.frame(pre[grepl("Sub-visible", pre$Name) & pre$Upc == "PRDS-000853", ]) %>% 
do(split(., Name))

Но может отсутствовать простой совет / трюк только с использованием базовых команд R. Спасибо.

1 Ответ

0 голосов
/ 03 мая 2019

Ответ с указанием в комментариях, 2 способа:

Замена do на with должна помочь в следующем примере: as.data.frame(...) %>% with(split(., Name)) - @ ArtemSokolov

OR

Труба с блоком кода будет делать: as.data.frame(...) %>% {split(., .$name)} - @ MrFlick

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