从一个列表创建两个列表

Posted

技术标签:

【中文标题】从一个列表创建两个列表【英文标题】:Creating two lists from one 【发布时间】:2014-06-29 04:12:57 【问题描述】:

我使用lapply(list, table) 来获取我的元素在列表中的频率。有没有办法将此列表分成两个单独的列表?

l1 <- c("1030","110"....) #Factors
l2 <- c(2,1,...) #Numbers

$`1`

1030  110  130   15  164   20  212  227   27  282  289  293   30  303  317  318  344  404   41  462  471 
   2    1   12   11    4    1    4    1    5    1    5    2    1    4    1    5    1    1    2    2    3 
 476   48  480  486    5  502   52  521  522  526   56  577   58  590   60  607  624  634  645  659   66 
   2   20    1    4    5    1    1    2    5    2    1    1    1    1    6    2    1    1    1    2    3 
 664  674  686   69  737  803  810  815   85   86   87  885   89  894   91  913  917   96  963  970   98 
   1    1    4    2    1    1    1    1    6    1    3    2    1    1    1    2    1    5    1    1    1 
  99 
   4 

【问题讨论】:

【参考方案1】:

使用names 获取表的名称(即用于l1)并使用unname 从未列出的向量中删除名称属性(即用于l2)。

# some data
s <- list(sample(1:10, 100, T), sample(1:10, 100, T))
l <- lapply(s, table)

# if you want to combine all elements of list together
l1 <- names(unlist(l))
l2 <- unname(unlist(l))

# you want to maintain the list structure
lapply(l, function(i) list(l1=names(i), l2=unname(i)))

【讨论】:

以上是关于从一个列表创建两个列表的主要内容,如果未能解决你的问题,请参考以下文章

创建从分析的数据框派生的两个列表

多级列表视图从一个项目中打开两个活动。安卓工作室 |爪哇

从三个单独的列表创建一个 .csv 文件

python 从两个列表创建字典

从嵌套字典结构列表(具有两个级别)创建数据框的 Pythonic 方法是啥?

如何创建多个从同一个数组中获取值的动态下拉列表,而无需更改 Javascript 中的其他下拉列表