0
votes

Colonne de chaîne séparée dans Data.Table dans plusieurs colonnes dans R

Imagine j'ai une donnée R.table avec la colonne de chaîne suivante: xxx

Je souhaite séparer chaque chaîne par point-virgule et écrivez-la dans de nouvelles colonnes ( a, b, c , d, e, f ) comme ceci: xxx

Quel est le moyen à jeun de faire cela compte tenu de savoir que j'ai une donnée avec 100k + rangées? < / p>


1 commentaires

Avez-vous des idées vous-mêmes que vous avez essayé mais que vous êtes trop lent?


3 Réponses :


1
votes

Un moyen d'utiliser dplyr et titsyr xxx

xxx


0 commentaires

1
votes
DT <- fread(
  "string
  a1; b: b1, b2, b3; c: c1, c2, c3
  a1; b: b2, b3, b4; c: c1, c2, c3; d: d1, d2, d3
  a2; b: b1, b2, b3; c: c2, c5, c6; d: d1, d2, d3; e: e2, e3, e4 
  a5; b: b5, b6, b7; c: c1, c2, c3; d: d1, d2, d3
  a6; b: b1, b2, b3; c: c1, c4, c5; d: d1, d2, d3; e: e1, e2, e3; f: f1, f2, f3",
  sep = "\n"
)

0 commentaires

1
votes

Nous pouvons utiliser csplit code> à partir de SplitStackshape CODE>

DT <- structure(list(string = c("a1; b: b1, b2, b3; c: c1, c2, c3", 
"a1; b: b2, b3, b4; c: c1, c2, c3; d: d1, d2, d3", "a2; b: b1, b2, b3; c: c2, c5, c6; d: d1, d2, d3; e: e2, e3, e4", 
"a5; b: b5, b6, b7; c: c1, c2, c3; d: d1, d2, d3", "a6; b: b1, b2, b3; c: c1, c4, c5; d: d1, d2, d3; e: e1, e2, e3; f: f1, f2, f3"
)), row.names = c(NA, -5L), class = "data.frame")


0 commentaires