Comment concaténer les colonnes numériques de R?
J'ai trois colonnes de x, y et z les coordonnées d'un dataframe dans la R que je voudrais concaténer en un seul xyz valeur, comme ci-dessous. J'ai essayé de les "coller" avec "l'effondrement" de="", sep="", mais éprouve de la difficulté, je pense que c'est quelque chose à faire avec le texte vs variables numériques.
I have:
x y z
1 2 3
2 3 2
3 1 4
4 2 1
I want:
x y z xyz
1 2 3 123
2 3 2 232
3 1 4 314
4 2 1 421
Il y a quelques très facile/moyen simple de le faire dans la R mais j'ai cherché sur Google et la recherche par le biais de Débordement de Pile de long en large depuis quelques jours et rien n'est venu à mon attention. Tout ce que je besoin est xyz colonne unique afin que je puisse courir à effets fixes régressions, (x varie de 1:4, y de 1:4 et z 1:10) j'ai donc 160 combinaisons possibles. Je suis actuellement à l'aide de différents exposants sur le x, y et z les valeurs et les multiplier pour obtenir des valeurs uniques--il y a certainement une meilleure façon! Grâce
OriginalL'auteur user3745597 | 2014-06-16
Vous devez vous connecter pour publier un commentaire.
Par exemple:
Ou à l'aide de
interaction
:`
Ou, comme une généralisation,
df$xyz <- do.call(paste0, df)
.OriginalL'auteur agstudy
OriginalL'auteur Amarjeet
Deux autres options pour combiner les colonnes sont
dplyr::mutate()
ettidyr::unite()
:Notez que l'utilisation de
paste()
convertit les valeurs numériques de caractère. Vous devez envelopper avecas.numeric()
de garder le champ comme une valeur numérique, si c'est ce que vous avez besoin.L'argument par défaut dans
tidy::unite()
estremove = TRUE
, qui tombe à l'origine des colonnes à partir de la trame de données.OriginalL'auteur sbha