[英]Invert a List of Character Vectors in R
從如下所示反轉字符向量列表的有效方法是什么?
lov <- list(v1=c("a", "b"), v2=c("a", "c"), v3=c("a"))
list(a=c("v1", "v2", "v3"), b=c("v1"), c=c("v2"))
與恢復列表結構相似,但涉及向量:
我們既可以將list
轉換為data.frame
(使用stack
也可以從library(reshape2)
melt
),然后split
“ ind”列除以“ d1”中的“值”。
d1 <- stack(lov)
split(as.character(d1$ind), d1$values)
或者,如果上述的方法是緩慢的,我們可以復制( rep
)的names
由“LOV”的length
的每一個list
元素( lengths
給出了一個vector
的的輸出length
的各元素的)和split
由它unlist
荷蘭國際集團的“LOV” 。
split(rep(names(lov), lengths(lov)), unlist(lov))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.