W data.table v.1.9.6
można podzielić zmienną w kolumnach tak:dynamicznie przypisać liczbę podziałów w data.table tstrsplit
library(data.table)
DT = data.table(x=c("A/B", "A", "B"), y=1:3)
DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][]
liczba wymaganych podziałów [powyżej: 2] nie zawsze jest znana z góry. Jak mogę wygenerować wymagane nazwy zmiennych, gdy znana jest liczba podziałów?
n = 2 # desired number of splits
# naive attempt to build required string
m = paste0("'", "myvar", 1:n, "'", collapse = ",")
m = paste0("c(", m, ")")
# [1] "c('myvar1','myvar2','myvar3')"
DT[, m := tstrsplit(x, "/", fixed=TRUE)][] # doesn't work
Jeśli określisz więcej podziałów, wówczas będzie można je oddać. Mogą mieć literówkę w pytaniu: "Jak mogę wygenerować wymagane nazwy zmiennych, gdy znana jest liczba podziałów?". Może chcieli napisać "nieznany". –
oznaczały znane. edytowałem pytanie, aby je [mam nadzieję] wyczyścić, ustawiając n = 2. – Henk
Następnie powyższa odpowiedź to zrobi. –