【发布时间】:2011-03-25 19:48:29
【问题描述】:
让我再试一次,我将省略确切的数据/示例,只介绍我需要完成的工作。
我需要在 data.frame 的行上应用一个函数,这很简单。然后我需要使用传递给它的 data.frame 在该函数中派生一些变量。最后,我想在 data.frame 的子集上应用一个新函数,并在新函数中使用派生变量。
谁能告诉我最好的做法,而不是在全局范围内限定我的每个变量(var1、var2)?
cpt <- a.data.frame
query.db <- function(another.data.frame){
var1 <- some.values
var2 <- some.other.values
apply(cpt[var1,], 1, calc.enrichment) #calc.enrichment needs to access var1, var2!
}
我尝试将 calc.enrichment 函数编写为用户定义的函数,而不是超出范围,但我的参数列表(var1、var2)没有被识别。感谢您的帮助。
【问题讨论】:
-
你做的例子很难理解。
var1和var2来自哪里?它们是对another.data.frame中某些变量的计算吗?试图从这个函数返回什么?你在做什么类型的计算?数值数据?分类数据?这个问题以目前的形式很难回答。 -
将所有要使用的对象显式传递给下游函数是一种很好的记账方式。