我想在 for 循环中创建评估不同的索引。
这些指数有不同的公式,并不总是需要评估。
f.i. :
我要评估的指数可能是
a=1
b=2
c=5
d=8
IDX1=function(a,b) {result=a+b}
IDX2=function(c,b) {result=c+b}
IDX3=function(d,b) {result=d+b-c}
IDX4=function(a,d) {result=a+d+b+c}
公式并不重要
在数据框中,我有迭代次数和每次循环需要的索引(假设我必须为每次迭代评估 2 个索引)
head=c("iter","IndexA","IndexB")
r1=c(1,"IDX1","IDX2")
r2=c(2,"IDX3","IDX4")
r3=c(3,"IDX1","IDX4")
df=as.data.frame(rbind(head,r1,r2,r3))
我想做的是在循环内评估每次迭代各自的 2 个索引,自动调用正确的公式并为其提供正确的参数
iter 1 : IndexA=IDX1(args)=3 ; IndexB(args)=IDX2(args)=7
iter 2 : IndexA=IDX3(args)=5 ; IndexB(args)=IDX4(args)=16
iter 3 : IndexA=IDX1(args)=3 ; IndexB(args)=IDX4(args)=16
请不要回答“只需运行所有函数并调用循环中的需求结果”。
我正在使用大矩阵,内存确实是一个问题。我需要评估循环内的函数以减少内存的使用
我相信答案就在这次讨论中,但我无法接受。
如何以编程方式创建 R 函数? https://stackoverflow.com/questions/12982528/how-to-create-an-r-function-programmatically
有人可以解释一下吗
1. 如何构建一个可以在循环中以编程方式更改的函数?
2.一旦我有了它,我怎样才能运行公式并得到我想要的结果?
谢谢