Ich habe eine Liste in R:hinzufügen Zeichenelement in zufälligen Positionen auf eine Liste in R
cls <- list(S1 = c("Start", "K1", "K2", "K1", "Buy"),
S2 = c("Start", "K1", "K3", "K3", "K2", "Defer"),
S3 = c("Start", "K1", "K2", "K2", "K3", "Defer"),
S4 = c("Start", "K1", "K3", "K3", "K1", "Defer"))
Jetzt mag ich „K2“ auf zwei Elemente in einer beliebigen Position zwischen „Start“ und „Kaufen hinzufügen "/"Verschieben".
Mein Ansatz so weit: Wählen Sie Linien, in denen die "K2" hinzuzufügen:
set.seed(1234)
idx <- sample(4, 2)
[1] 1 2
Deshalb möchte ich in den Zeilen 1 und 2. Für die Bestimmung der Position einzufügen, habe ich dieses:
a <- sapply(cls, length)
set.seed(1234)
lapply(a, FUN=function(x) x-sample(1:x-1, 1))
$`1`
[1] 4
$`2`
[1] 2
So jetzt habe ich eine Liste, welche Zeilen die Elemente in (1 und 2) und welche Stelle in diesen Zeilen (4 und 2) hinzufügen.
Ich fand insert
aus Paket R.utils
könnte nützlich sein, aber ich kann nicht herausfinden, wie man es anwenden, ohne eine Schleife zu verwenden. Dieses
x <- insert(cls[[1]], ats=c(4), values="K2")
arbeitet für das erste Element, das ich einfügen möchte. Wie kann ich die Einfügefunktion auf alle meine Listenelemente anwenden?