1
我有R中的列表:在隨機位置的列表添加字符元素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"))
現在我想「K2」添加到兩個元素在「開始」之間的隨機位置和「購買「/」 推遲」。
我的做法至今:選擇行裏添加了「K2」:
set.seed(1234)
idx <- sample(4, 2)
[1] 1 2
所以我想在1線插入和2.要確定的位置,我這樣做:
a <- sapply(cls, length)
set.seed(1234)
lapply(a, FUN=function(x) x-sample(1:x-1, 1))
$`1`
[1] 4
$`2`
[1] 2
所以,現在我有一個列表添加(1和2)中的元素以及這些行(4和2)中的哪個位置的行。
我發現insert
來自包R.utils
可能是有用的,但我不知道如何應用它,而不使用循環。 This
x <- insert(cls[[1]], ats=c(4), values="K2")
適用於我想要插入的第一個元素。如何將插入功能應用於我的所有列表項目?