在R中的列表上运行lapply

时间:2018-04-20 03:36:48

标签: r lapply

我是R的新手,我正在尝试使用aRpsDCA来创建一个函数,通过历史匹配来估算油井或天然气井的下降参数。我可以在一口井上正常工作,但在将公式应用于包含多个井的大型.csv文件时遇到困难(数据集具有井标识符,累计月数,然后在该月对所有井进行评级,以及他们都有不同的累积月份)。我试图使用lapply,但到目前为止我有错误。

我不会完成所有的功能,但需要两个变量(q,t)或函数(q,t)。该函数名为h2e.fnc。这是我试图用它来运行整个列表,但它不起作用。

declAll <- lapply(hynsvl$API, h2e.fnc(hynsvl$q, hynsvl$t))
Error in match.fun(FUN) : 
  'h2e.fnc(hynsvl$q, hynsvl$t)' is not a function, character or symbol

$ API是井标识符,然后q和t是对函数的速率和时间输入。

关于如何正确运行此功能以获得单独计算所有井的功能的任何建议?

1 个答案:

答案 0 :(得分:0)

您可以使用apply来调用数据框中的所有行

twoarg <- function(a,b)
{
   a + b
}
l1 <- c(1:100)
l2 <- c(100:1)

df <- data.frame(l1,l2)

apply(df,1,function(x) twoarg(x["l1"],x["l2"])) # 1 all rows , 2 all columns