J'essaye de remodeler mes données d'une formule longue à large en utilisant la fonction dcast.Remodeler les données du format long au format large - plus d'une variable
L'objectif est d'utiliser différentes variables dans le paramètre value.var mais R ne me laisse pas utiliser plus d'une valeur.
Existe-t-il un autre moyen de le réparer? J'ai examiné d'autres questions similaires, mais je n'ai pas été en mesure de trouver des exemples similaires.
J'envoie les détails
Voici mon jeu de données actuel Dataset - monde
+---------+------+--------+--------------+------------+
| 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 |
+---------+------+--------+--------------+------------+
Mon objectif est de passer colonne année au reste des colonnes (croissance, chômage et population) . J'utilise la fonction ci-dessous dcast.
data_wide <- dcast(world, country ~ year,
value.var=c("Growth","Unemployment","Population"))
résultat idéal
+---------+-------------+-------------------+-----------------+-------------+-------------------+-----------------+
| 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 |
+---------+-------------+-------------------+-----------------+-------------+-------------------+-----------------+
Ne postez pas seulement des images. Publiez également la sortie de 'dput (X)' où X est votre trame de données d'entrée (ou une version suffisamment réduite si elle est grande). Sans cela personne ne peut essayer vos données sans les taper toutes manuellement et on ne peut pas être absolument sûr des classes des colonnes. –
Ma première supposition serait d'essayer 'reshape (monde, direction =" large ", timevar =" Année ", idvar =" Pays ")' –
Bonjour @Juan. Vous pouvez réellement éditer votre question, enlever vos images et copier-coller les valeurs à la place. De plus, comme indiqué dans les commentaires précédents, il serait très utile d'ajouter le résultat de 'dput (X)'. Il est plus facile pour quiconque veut fournir une réponse qui fonctionne. Merci! – lrnzcig