У меня есть фрейм данных в длинном формате (https://docs.google.com/spreadsheets/d/15jDW1pCYs7VD6MAH9GHmYrP-zf8WjsGj9F3qVXGijDM/edit?usp=sharing), который выглядит так:
objectid timestamp code_bbch_surveyed
1: 702509 2018-03-23 NA
2: 702509 2018-03-23 NA
3: 702509 2018-03-23 NA
4: 702509 2018-03-23 NA
5: 702509 2018-03-23 NA
---
5581: 293171 2018-10-17 GMA3
5582: 293171 2018-10-17 GMA3
5583: 293171 2018-10-17 GMA3
5584: 293171 2018-10-17 GMA3
5585: 293171 2018-10-17 GMA3
Я хочу привести его к широкоформатному формату, чтобы каждая строка была уникальной objectid
, каждый столбец - уникальным timestamp
, а ячейки заполнялись соответствующими code_bbch_surveyed
.
Я пробовал то, что кажется наиболее логичной реализацией dcast
, вот так:
dcast(setDT(df_scr), objectid ~ timestamp, value.var = 'code_bbch_surveyed')
, но при этом создается выходной фрейм данных / таблица данных, где каждая ячейка заполняется COUNT / числом экземпляров. Я не хочу считать экземпляры, а просто заполнил ячейку значением code_bbch_surveyed
.
Таким образом, вместо вывода, подобного этому (row1):
objectid 2018-03-23 2018-04-23 2018-05-21 2018-06-20 2018-07-09 2018-08-15 2018-09-20 2018-10-17
1: 8100 27 22 16 14 15 14 12 15
Я хотел бы видеть вывод, подобный этой строке (1):
objectid 2018-03-23 2018-04-23 2018-05-21 2018-06-20 2018-07-09 2018-08-15 2018-09-20 2018-10-17
1: 8100 SCR2 WWH3 [null] [null] [null] [null] [null] [null]