У меня есть подмножество данных, которое выглядит следующим образом:
Item | Code | Percentage |
---|---|---|
10000 | 123 | 0.2 |
10001 | 134 | 0.98 |
10001 | 152 | 0.02 |
10002 | 123 | 0.68 |
10003 | 123 | 1 |
10002 | 178 | 0.32 |
10004 | 189 | 1 |
Я хочу найти способ транспонирования таким образом, чтобы я сохранял только уникальные значения из столбца A, столбец B рассредоточен по разным столбцам в соответствии с уникальными значениями, а процентное соотношение заполняется этими значениями. См. Пример данных, которые я хочу дополнить:
Item | 123 | 134 | 152 | 178 | 189 |
---|---|---|---|---|---|
10000 | 0.2 | 0 | 0 | 0 | 0 |
10001 | 0 | 0.98 | 0.02 | 0 | 0 |
10002 | 0.68 | 0 | 0 | 0.3 | 0 |
10003 | 1 | 0 | 0 | 0 | 0 |
10004 | 0 | 0 | 0 | 0 | 1 |
В настоящее время я использую следующий формат:
df <-df %>%
group_by(Item) %>%
mutate(n = row_number()) %>%
spread(Code, Percentage)
Следуя этой структуре, я все еще получаю повторяющиеся (не уникальные) значения в столбце A. Я загрузил библиотеку (plyr), библиотеку (dplyr), библиотеку (tidyr) именно в таком порядке. Причина, по которой я упомянул, заключается в том, что я где-то читал, если вы измените порядок работы, но в итоге испортили результаты.
Если вам нужна дополнительная информация, дайте мне знать. Спасибо!
plyr находится на пенсии уже несколько лет назад. Вы можете сделать это с помощью tidyr, синтаксис которого также обновлен с spread
до pivot_wider
. Есть много ТАКИХ вопросов по этой же задаче; Я выкопаю несколько, чтобы отметить — person guirgo__ schedule 25.02.2021
Отвечает ли это на ваш вопрос? Почему pivot_wider считывает отдельные значения как дубликаты или создает длинный и широкий тиббл (без объединения строк)? — person guirgo__ schedule 25.02.2021
См. Также stackoverflow.com/q/64169332/5325862 — person guirgo__ schedule 25.02.2021
Всем привет! Спасибо большое за вашу помощь! Оба варианта у меня сработали легко! Действительно ценю это! — person guirgo__ schedule 25.02.2021
с помощью tidyverse
Создано 25 февраля 2021 года пакетом REPEX (v1.0.0)
используя data.table
Создано 25 февраля 2021 года пакетом REPEX (v1.0.0)
Проблема в том, что ему нужно выполнять группировку как по «Коду», так и по «Элементу».
-выход