Простой вопрос, но, по-видимому, еще не ответил в StO.Категоризируйте несколько строк в одну переменную
У меня длинный кадр данных, где 3 из колонок:
person | trip | driver
=======================
1 car
1 bike
1 train
1 walk
2 walk
2 train
2 boat
То, что я хотел бы, чтобы заполнить «драйвер» столбца, так что он читает 1, если по крайней мере один из поездок производится на машине, 0 в противном случае:
person | driver
================
1 1
1 1
1 1
1 1
2 0
2 0
2 0
у меня есть небольшое предпочтение делать это, не прибегая к фантазии пакетов, но я счастлив с большинством популярных (например, plyr, data.table, sqldf ....) или даже новые, которые оказываются полезными в долгосрочной перспективе ,
Заранее благодарю .p.
@Arun Спасибо за комментарии. Это более компактно – akrun
Спасибо, это доказывает, сколько можно сделать с помощью «с» и setDT! – user3310782
Просто добавьте Я попытался использовать метод setDT (setDT (df) [, driver: = max (trip), by = person], получение ошибки: Тип RHS (целое число) должен соответствовать LHS ('double ') поэтому я предполагаю, что это связано с тем, что одно из моих полей (драйвер) является целым числом, тогда как другое (поездка) определяется как двойное? Любой быстрый способ переназначить тип в самой команде? Спасибо! – user3310782