【发布时间】:2011-02-11 19:25:45
【问题描述】:
我的程序需要一个 data.frame 并处理数字。在某一时刻,来自第 j 列的值乘以预定义的值,该值取决于列名(实际上是物种名称 - 它是生态索引)。到目前为止,我一直在通过第二个 data.frame 通过匹配列名来提供这些值。在函数中集成固定变量值的有效方法是什么?我希望我的程序尽可能可移植,而不需要第二个 data.frame 文件。
编辑
这就是函数。我正在尝试改进第二行(索引
macroIndex <- function(obj, index) {
index <- read.table("conv.csv", header=T, dec=",")
a <- c()
b <- names(obj)
for (i in 2:length(obj)) {
obj[i] <- obj[i] * index[which(index==b[i]), 2]
}
obj
}
我尝试了另一个解决方案,虽然它可能看起来不太漂亮,但它可以完成工作。我使用 dput(index) 并创建一个永久对象,然后将其插入到我的函数中。
【问题讨论】:
-
我首先想到如何将所有这些集成到一个紧凑的内托鱼雷形式中是一个小包装。最后,这就是我最终可能会做的事情。
-
这可能是最优雅的解决方案,这样您就可以在包中包含您的索引数据框,只需记住记录它。