gpt4 book ai didi

r - 如何将自定义多变量函数应用于 R 中数据框的每一行?

转载 作者:行者123 更新时间:2023-12-04 22:13:21 24 4
gpt4 key购买 nike

假设我有一个包含名为“foo”和“bar”的列的数据框

mydata <- data.frame(foo=rnorm(100), bar=rnorm(100))

并假设我有一个自定义标量函数,它期望标量输入“x”和“y”并产生标量输出,例如
myfunction <- function(x, y) { if (x>0) y else x }

如何将 myfunction 应用于 mydata 的每一行,其中 x 为 foo,y 为 bar?

是的,我知道这个具体的例子非常简单,可以在 R 中很容易地完成,但我对模式感兴趣。想象一下 myfunction 非常复杂,myfunction 的变量名必须映射到列名上我的数据。一般的解决方法是什么?

最佳答案

mydata <- data.frame(x=rnorm(100), y=rnorm(100))
myfunction <- function(x, y) { if (x>0) y else x }

# with plyr (requires the argument names to match)
plyr::mdply(mydata, myfunction)

# with base functions
with(mydata, mapply(myfunction, x, y))

关于r - 如何将自定义多变量函数应用于 R 中数据框的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17395192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com