我有一个在 R 中使用的函数,它需要输入多个参数,一次是数字(1),一次是字符(NULL)。默认值为 NULL。
我想使用所有可能的参数组合来应用该函数,因此我使用 expand.grid 尝试创建一个存储这些参数的数据框。但是,我在创建一个在一列中同时包含数字和字符的对象时遇到了问题。
这是我尝试过的:
comb<-expand.grid(c("NULL",1),c("NULL",1),stringsAsFactors=FALSE),它返回:
comb
Var1 Var2
1 NULL NULL
2 1 NULL
3 NULL 1
4 1 1
所有条目字符:
class(comb[1,1])
[1] "character"
如果我现在尝试将数字插入特定位置,我仍然会收到一个字符:
comb[2,1]<-as.numeric(1)
class(comb[2,1])
[1] "character"
我也尝试过使用stringsAsFactors=TRUE, 或使用 expand.grid(c(0,1),c(0,1)) 然后切换出0forNULL但总是有完全相同的问题:每当我这样做时,我都不会得到一个数字1。
使用手动创建对象cbind然后将其插入NULL为字符也无济于事。我将不胜感激指针或解决方法来运行具有所有可能参数组合的函数。