我很难弄清楚我认为不应该那么困难。我想创建一个列表列表,例如下面的finalList
示例,其中y
和z
值已修复,x
值来自InputList
中的值1}}。如果我传递了所有三个x
,y
,z
值,那么我认为我只是使用类似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))
答案 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()
。 y
和z
值将按InputList
的长度进行回收。
Map(list, x = unname(InputList), y = 2, z = 3)