/ / Jak podzielić zmienną łańcuchową na n zmiennych w R [zamknięte] - r, podzielone

Jak podzielić zmienną ciągu na n zmiennych w R [closed] - r, split

W R potrzebuję podzielić zmienną łańcuchową ramki danych na n zmiennych oddzielonych „->” bez wcześniejszej znajomości liczby nowych zmiennych do utworzenia

Odpowiedzi:

1 dla odpowiedzi № 1

Możemy użyć strsplit aby uzyskać wyjście podzielone na a list.

lst <- strsplit(df$string, "->")

i wtedy rbind po dopełnieniu NA na końcu, jeśli list elementy są nierówne length.

do.call(rbind, lapply(lst, `length<-`, max(lengths(lst))))

Jeśli musimy podzielić kolumny na tworzenie dodatkowych kolumn, jedną z opcji jest cSplit od splitstackshape

library(splitstackshape)
cSplit(df, "string", "->")

dane

df <- data.frame(string = c("some->thing->else", "some->thing"), stringsAsFactors=FALSE)