创建一些列表,其中一些值是固定的,一个值是变化的

时间:2017-03-12 00:29:47

标签: r lapply

我很难弄清楚我认为不应该那么困难。我想创建一个列表列表,例如下面的finalList示例,其中yz值已修复,x值来自InputList中的值1}}。如果我传递了所有三个xyz值,那么我认为我只是使用类似lapply的内容,但将两个值修复为只传递一个值让我很难过。

示例:

InputList <- list(p=1, q=2, v=4)
finalList <- list(list(x=1, y=2, z=3), list(x=2, y=2, z=3), list(x=4, y=2, z=3))

2 个答案:

答案 0 :(得分:1)

InputList <- list( p = 1, q = 2, v = 4 )
lapply( InputList, function( x ) list( x = x, y = 2, z = 3) )

str( lapply( InputList, function( x ) list( x = x, y = 2, z = 3) ) )
# List of 3
# $ p:List of 3
# ..$ x: num 1
# ..$ y: num 2
# ..$ z: num 3
# $ q:List of 3
# ..$ x: num 2
# ..$ y: num 2
# ..$ z: num 3
# $ v:List of 3
# ..$ x: num 4
# ..$ y: num 2
# ..$ z: num 3

答案 1 :(得分:0)

您可以使用Map()yz值将按InputList的长度进行回收。

Map(list, x = unname(InputList), y = 2, z = 3)