簡體   English   中英

反轉R中的字符向量列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM