In meinem Datenrahmen habe ich einige semi-strukturierte Daten in einer Spalte.Teilen Sie eine Spalte in R
df
col1
a|b|c
a b1|b|c
a & b2|b|c 3
von diesem dataframe$col1
ich nur das erste Wort vor dem extrahieren möchten „|“.
ich versuchte, diesen
df$col2 <- unlist(strsplit(as.character(df$a),"[|]"))[[1]][1]
verwenden, aber das Ergebnis denselben Wert wurde mit „A“ auf allen Reihen. Warum ist das und wie geht das?
Dank
Was ist Ihre erwartete Ausgabe? Vielleicht Bibliothek (stringr); str_extract (df $ col1, [[: alnum:]] + (? = \\ |) ") – akrun
' library (tidyr); df%>% seperate (col1, in = 'col2', sep = '\\ |', extra = 'fallen', entfernen = FALSE) ' – alistaire
Mögliche Duplikate von [Trennen eines Spaltenelements in 3 separate Spalten (R)] (http://stackoverflow.com/questions/25194174/separating-a-column-element-into-3-separate-columns-r) – alistaire