我有一个在 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)) 然后切换出0
forNULL
但总是有完全相同的问题:每当我这样做时,我都不会得到一个数字1
。
使用手动创建对象cbind
然后将其插入NULL
为字符也无济于事。我将不胜感激指针或解决方法来运行具有所有可能参数组合的函数。