如何将列表中的每个元素作为R中另一个函数的参数传递?

时间:2016-07-22 11:29:19

标签: r

假设我有一个列表(在我的情况下,列表中的元素数量是可变的),

    tmp=c('X1','X2','X3','X4')

我想将每个元素传递给扩展网格函数,如下所示:

    tmp1=expand.grid(X1=c(0,1),X2=c(0,1),X3=c(0,1),X4=c(0,1)) 

其中每个元素只能取值0和1.我怎么能实现这个目的?

感谢。

1 个答案:

答案 0 :(得分:1)

我们可以使用mget来获取' tmp'中元素的值。 vectorlist,然后用expand.grid包装。

expand.grid(mget(tmp))

或者,如果这些不是对象,而是我们需要使用expand.grid创建的列名,则将向量c(0,1)放在list中,然后通过{{1}复制它' tmp',执行length并将列名设置为' tmp' (使用expand.grid

setNames