[英]How to split a character vector based on length of a list
我有這樣的角色矢量:
a<-c("tanaman","cabai","banget","hama","sakit","tanaman","koramil","nogosari",
"melaks","ecek","hama","tanaman","padi","ppl","ds","rambun")
我想根據列表的長度將字符向量拆分為列表,如下所示:
split.char<-list(c("tanaman", "cabai"),c("banget", "hama",
"penyakit", "tanaman"),c("koramil", "nogosari", "melaks", "pengecekan", "hama",
"tanaman" , "padi", "ppl", "ds", "rambun"))
我正在嘗試使用sapply(split.char, length)
來定義列表split.char
長度
Length <- sapply(split.char, length)
for(i in Length){
split(a, Length(i))
}
但我沒有得到所需的輸出,我不斷收到此警告消息:
1: In split.default(ok, Length) : data length is not a multiple of split variable
2: In split.default(ok, Length) : data length is not a multiple of split variable
3: In split.default(ok, Length) : data length is not a multiple of split variable
您可以嘗試以下方法:
split(x=a, f=rep(seq_along(Length), Length))
f
必須與x
具有相同的長度(如果它的長度為1或x
的分隔符將被再循環)。
您可以使用relist
,它將為'a'提供與'split.char'類似的結構(包括length
)
relist(a, skeleton=split.char)
#[[1]]
#[1] "tanaman" "cabai"
#[[2]]
#[1] "banget" "hama" "sakit" "tanaman"
#[[3]]
#[1] "koramil" "nogosari" "melaks" "ecek" "hama" "tanaman"
#[7] "padi" "ppl" "ds" "rambun"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.