Je convertis en R à partir de STATA. Une chose que j'ai du mal à reproduire correctement est la fonction de refonte dans STATA. Dans STATA à peu près ceci peut être fait avec:Remodeler plusieurs copies d'un ensemble de colonnes dans R à la fois Wide> Long et Long> Wide
reshape wide variable names, i(Unique person ID) j(ID identifying each entry per unique ID i)
je un ensemble de données contenant des lignes intra-veineux utilisés par les patients (échantillon maintenant attaché) .Procédé de données est actuellement la ligne longue (1 row per). Pour chaque ligne, vous verrez qu'il y a plusieurs colonnes; type de ligne, date d'insertion, date de suppression, etc.
Je souhaiterais savoir comment redéfinir la mise en page 1 en largeur et la mise en page 2 en arrière. Chaque patient a un identifiant unique. Je peux étiqueter chaque rangée par personne avec un identifiant unique (c'est-à-dire des rangées de numéros dans ID_Var 1: n). Exemple de disposition large/longue souhaitée ci-dessous.
Cela se sent différent des exemples de Remodeler je l'ai vu sur Stackoverflow (et qui sont décrits dans le antisèche de dplyr) - parce que normalement ils seraient remodelant en fonction de dire la valeur dans la colonne de ligne - et vous ferait une nouvelle colonne appelée périphérique et prendrait la valeur d'inséré et la mettrait dans la colonne périphérique, et faisant une autre colonne appelée Hickman, et mettant la valeur insérée dans cette colonne, etc Exemple DPLYR typique (pas le but ici)
Je suis heureux pour une solution de base ou dplyr (ou en fait alternative) .... J'ai essayé d'utiliser reshape dans R :: base et ai jeté un coup d'oeil à la propagation dans dplyr mais n'ai pas réussi à travailler? parce que j'essaye de tout faire en 1 pas (ce que je ferais dans STATA).
Par exemple, j'essayé
lines_wide <- reshape(lines,idvar=lines$Episode,timevar=lines$n,direction="wide")
Mais je reçois: Erreur dans [.data.frame
(données,, varID): colonnes non définies sélectionnées
J'ai essayé aussi spécifier des éléments spécifiques à remodeler en utilisant v. noms:
lines_wide <- reshape(lines,idvar=lines$Episode,timevar=lines$n,direction="wide", v.names = list(lines$Site,lines$Line.Type,lines$Removal.Reason))
Mais j'obtiens la même erreur.
Un exemple du long jeu de données est ici: https://www.dropbox.com/s/h0lo910ix304qj3/reshape_example.xlsx?dl=0
Il est plus probable que nous serons en mesure de vous aider si vous fournissez e a [exemple complet minimal reproductible] (http://stackoverflow.com/help/mcve) pour accompagner votre question. Quelque chose que nous pouvons travailler et utiliser pour vous montrer comment il pourrait être possible de répondre à votre question, je vous recommande également de jeter un oeil à la [_comment je pose une bonne question_] (https://stackoverflow.com/help/how -demander). Il est également généralement bon de démontrer que vous avez déjà fait des efforts pour y arriver. –
Excuses - J'ai ajouté un lien vers une copie de quelques exemples de données et quelques exemples de ce que j'ai essayé d'utiliser la commande base: reshape. – mmarks