R与命名参数匹配

时间:2017-03-04 11:07:53

标签: r

在R中使用mapply时我有一种担心,就是我可能搞砸参数的顺序&因此无意识地产生垃圾结果。

mydata<-data.frame(Temperature=foobar,Pressure=foobar2)
myfunction<-function(P,T)
{
....
}
mapply(FUN = myfunction,mydata$Temperature,mydata$Pressure)

有没有办法利用命名参数来通过mapply避免这种错误?

1 个答案:

答案 0 :(得分:1)

如果我们需要匹配函数参数,请使用函数的参数命名Map/mapply的参数

mapply(FUN = myfunction,T=mydata$Temperature,P=mydata$Pressure)

我们可以直接应用函数而不是mapply(基于我在帖子中提供的示例)

do.call(myfunction, unname(mydata[2:1]))

数据

mydata <- data.frame(Temperature = 1:5, Pressure = 16:20)
myfunction <- function(P, T) {P*5 + T*10}