如何在函数中使用预设方法? (expand.grid)

时间:2019-09-13 16:19:06

标签: r

我想使用条件值作为函数中的方法而不是实际方法来缩放脚本。如何获得将值识别为方法的函数?

这是RStudio 1.1.463上的R。

我想重现一下:

rooster=c("Bob","Bill","Joe")
head(expand.grid("Task 1" = rooster, "Task 2" = rooster, "Task 3" = rooster))

我不确定它的解释方式,但基本上R理解当我写“公鸡”时,它应该去获取价值公鸡。

我希望将相同的逻辑应用于该函数的整个方法,并且希望这样做

rooster=c("Bob","Bill","Joe")
nb<-3
z<-as.factor(paste(paste('"Task ',1:nb,'" = rooster',sep=""),collapse=", "))
z

因此,值z完全重现了上面介绍的方法。即,““任务1” =公鸡,“任务2” =公鸡,“任务3” =公鸡)”

expand.grid(z)

A,显然R并不理解这是一种方法,而不仅仅是一个值(我尝试用as.vector代替as.factor但无济于事)

所以我期望这样:

> expand.grid("Task 1" = rooster, "Task 2" = rooster, "Task 3" = rooster)
Task 1 Task 2 Task 3
1     Bob    Bob    Bob
2    Bill    Bob    Bob
3     Joe    Bob    Bob
4     Bob   Bill    Bob
5    Bill   Bill    Bob
...

相反,我对此感到不安:

> expand.grid(z)
Var1
1 "Task 1" = rooster, "Task 2" = rooster, "Task 3" = rooster

有什么办法解决这个问题吗?

0 个答案:

没有答案