Привет еще раз, да. Мне удалось это сделать, я немного изменил синтаксис.
от вопрос уже есть ответ здесь:
Изменить несколько значений одновременно 2 ответаЯ пытаюсь преобразовать свои данные из длинной в широкую формулу, используяdcast
функция отreshape2.
Цель состоит в том, чтобы использовать разные переменные вvalue.var
параметр, но R не позволяет мне использовать более одного значения в нем.
Есть ли другой способ, которым я мог бы это исправить? Я смотрел на другие подобные вопросы, но я не смог найти подобные примеры.
Вот мой текущий набор данных:
+---------+------+--------+--------------+------------+
| Country | Year | Growth | Unemployment | Population |
+---------+------+--------+--------------+------------+
| A | 2015 | 2 | 8.3 | 40 |
| B | 2015 | 3 | 9.2 | 32 |
| C | 2015 | 2.5 | 9.1 | 30 |
| D | 2015 | 1.5 | 6.1 | 27 |
| A | 2016 | 4 | 8.1 | 42 |
| B | 2016 | 3.5 | 9 | 32.5 |
| C | 2016 | 3.7 | 9 | 31 |
| D | 2016 | 3.1 | 5.3 | 29 |
| A | 2017 | 4.5 | 8.1 | 42.5 |
| B | 2017 | 4.4 | 8.4 | 33 |
| C | 2017 | 4.3 | 8.5 | 30 |
| D | 2017 | 4.2 | 5.2 | 30 |
+---------+------+--------+--------------+------------+
Моя цель - передать годовой столбец остальным столбцам (рост, безработица и население). Я использую приведенную ниже функцию dcast.
data_wide <- dcast(world, country ~ year,
value.var=c("Growth","Unemployment","Population"))
Идеальный результат
+---------+-------------+-------------------+-----------------+-------------+-------------------+-----------------+
| Country | Growth_2015 | Unemployment_2015 | Population_2015 | Growth_2016 | Unemployment_2016 | Population_2016 |
+---------+-------------+-------------------+-----------------+-------------+-------------------+-----------------+
| A | 2 | 8.3 | 40 | 4 | 8.1 | 42 |
| B | 3 | 9.2 | 32 | 3.5 | 9 | 32.5 |
| C | 2.5 | 9.1 | 30 | 3.7 | 9 | 31 |
| D | 1.5 | 6.1 | 27 | 3.1 | 5.3 | 29 |
+---------+-------------+-------------------+-----------------+-------------+-------------------+-----------------+