Texte de la colonne d'équivalent dans R, le fractionnement du dataframe sur le caractère
Je voudrais savoir comment faire pour diviser les colonnes de la même manière que excel ne dans le "texte-à-colonne". Il existe de nombreux tutoriels sur stackexchange sur la façon de diviser les colonnes par un personnage, mais ils n'ont pas l'adresse 3 choses dont j'ai besoin:
1). travailler avec une colonne, où seulement certaines lignes ont le caractère
2). travailler avec un dataframe qui a beaucoup de colonnes
3). traiter les colonnes, les personnages/les facteurs de
Par exemple, j'ai un dataframe
df <- data.frame(V1 = c("01, 02", "04", "05, 06", "07, 08", "09", "10"),
V2 = c("11, 12", "14", "13, 14", 11, 14", "13", "15")
Si je devais utiliser du texte en colonnes de V1 dans excel, je finirais avec 3 colonnes de fractionnement sur la virgule. Une deuxième colonne serait créé pour uniquement les cellules qui avait une virgule dans le. Il y aurait des cellules vides pour les lignes qui n'avait pas de colonne. Je voudrais aussi avoir la possibilité de traiter la nouvelle colonne comme un nombre ou un texte. Dans ce cas, j'ai besoin de zéro, de sorte qu'il devrait être traité comme du texte.
Il ressemblerait à quelque chose comme ceci
V1 V2 V3
Row 1 01 02 11,12
Row 2 04 NA 14
Comment pourrais-je faire quelque chose de similaire dans R, en gardant à l'esprit que le jeu de données que j'ai a nombreuses colonnes, donc ce n'est pas pratique pour renommer chaque colonne dans le code.
J'espère que c'était clair. Merci pour l'aide!
df
a un "
manquant.OriginalL'auteur tom | 2014-12-12
Vous devez vous connecter pour publier un commentaire.
Peut-être cela aide
Si vous voulez les deux colonnes à
split
La
default
esttype.convert= TRUE
, qui permettrait de convertirnumeric
.de données
OriginalL'auteur akrun
Fractionnement avec strsplit puis en accédant à "[" semble fonctionner. Vous vous rendez compte que ceux qui ont été des facteurs pour commencer, j'espère?
aussi, une chose de plus, je l'ai mentionné dans le post initial que j'ai trop de colonnes de nom. Comment pourrais-je faire cela sur une seule colonne? il ressemble dans votre code, j'ai renommer toutes les colonnes.
Le "[" est l'Extrait de fonction. Je te donne la liste produite par le
strsplit
fonction comme premier argument et 1 ou 2 en tant que position d'argument.Alors... vous voulez ce processus de cycle de grâce et de créer les noms de ces nouveaux split-les colonnes de toutes les colonnes d'origine mais vous ne savez pas combien de colonnes il existe vraiment? Est-il une raison que @akrun la solution est de ne pas répondre à la demande?
OriginalL'auteur 42-