将嵌套列表的第一个元素绑定到嵌套列表的后续元素

PHH13

我有一个嵌套列表,我想将每个列表的第一个元素绑定到该嵌套列表的其余元素。(对整个集合中的每个列表执行此操作)

这是前 2 个更高级别的列表。目标是输出具有两列的数据帧。第 1 列是第一行,第 2 列是后续行。

简化版:

list(c("Location1", 
       "Location1_Bid1", 
       "Location1_Bid2", 
       "Location1_Bid3"), 
     c("Location2", 
     "Location2_Bid1", 
     "Location2_Bid2", 
     "Location2_Bid3"),
     c("Location3", 
     "Location3_Bid1", 
     "Location3_Bid2", 
     "Location3_Bid3",
     "Location3_Bid4")
     , c("Location4", 
     "Location4_Bid1", 
     "Location4_Bid2"))

例如:

Location        |  Bid
"Location1"     | "Location1_Bid1"
"Location1"     | "Location1_Bid2"
"Location1"     | "Location1_Bid3"
"Location2"     | "Location2_Bid1"
"Location2"     | "Location2_Bid2"
"Location2"     | "Location2_Bid3"
"Location3"     | "Location3_Bid1"
"Location3"     | "Location3_Bid2"
"Location3"     | "Location3_Bid3"
"Location3"     | "Location3_Bid4"
"Location4"     | "Location4_Bid1"
"Location4"     | "Location4_Bid2"
格雷戈尔·托马斯

编写一个函数来执行您想要的操作并用于lapply对每个列表项执行此操作:

foo = function(x) cbind(x[1], x[-1])
result = lapply(your_list, foo)

将您的简单示例称为“简单”:

lapply(simple, foo)
# [[1]]
#      [,1]        [,2]            
# [1,] "Location1" "Location1_Bid1"
# [2,] "Location1" "Location1_Bid2"
# [3,] "Location1" "Location1_Bid3"
# 
# [[2]]
#      [,1]        [,2]            
# [1,] "Location2" "Location2_Bid1"
# [2,] "Location2" "Location2_Bid2"
# [3,] "Location2" "Location2_Bid3"
# 
# [[3]]
#      [,1]        [,2]            
# [1,] "Location3" "Location3_Bid1"
# [2,] "Location3" "Location3_Bid2"
# [3,] "Location3" "Location3_Bid3"
# [4,] "Location3" "Location3_Bid4"
# 
# [[4]]
#      [,1]        [,2]            
# [1,] "Location4" "Location4_Bid1"
# [2,] "Location4" "Location4_Bid2"

这些是矩阵,而不是数据框。如果您想要数据帧,您可以使用cbind.data.frame而不仅仅是cbind您还可以在示例输出中添加列名称,例如

foo = function(x) cbind.data.frame(Location = x[1], Bid = x[-1])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从嵌套列表的子列表中提取第一个和最后一个元素

选择嵌套列表的第一个元素

Python:嵌套列表中的第一个元素

将嵌套列表元素转换为数据框,并将结果绑定到一个数据框

将一个嵌套列表的元素与另一个嵌套列表进行比较

嵌套列表中的第一个元素的总和

如何提取嵌套列表的第n个元素的第一个元素(作为字符串列表)

在嵌套列表的第一个位置计数相同的元素

删除嵌套列表的每个子列表的第一个元素

当第一个元素匹配时,如何对嵌套列表进行排序?

将具有嵌套列表的列转换为以第一个元素为列名的列

如何根据第一个元素对嵌套列表进行分组?

如何在terraform的嵌套列表中切片第一个元素

在列表中找到所有后续值加一的第一个元素

根据第一个元素组合嵌套列表

如何拆分嵌套列表元素的第一个元素?

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

将嵌套列表转换为dict,其中列表的第一个元素是dict的键

将具有相同第一个元素的向量分组到向量列表中

如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

元组列表到元组 C# 列表中的第一个元素列表

基于嵌套列表的第一个元素合并嵌套列表

计算嵌套列表中的第一个元素

列表/嵌套列表中的第一个元素

如何访问嵌套列表的第一个元素?

如何通过嵌套列表中第一个元素的值提取子列表

按嵌套列表中的第一个元素过滤掉它们

如何获取嵌套列表中的所有元素,其中每个列表的第一个元素是特定数字?

返回列表中第一个元素的所有索引,其中后续值递增