我有这个data.frame
:
id | amount1 | amount2 | day1 | day2
---------------------------------------------
A | 10 | 32 | 0 | 34
B | 54 | 44 | 8 | 43
C | 45 | 66 | 16 | 99
df <- data.frame(id=c('A','B','C'), amount1=c(10,54,45), amount2=c(32,44,66), day1=c(0,8,16), day2=c(34,43,99))
我想要apply
一个函数
df$res <- apply(df, 1, myfunc)
在哪里
myfunc <- function(x,y) sum(x) * mean(y)
只有我想将列变量作为参数传递给函数,所以它基本上应该读取
apply(df, 1, myfunc, c(amount1, amount2), c(day1, day2))
对于第一行,这是
myfunc(c(10,32),c(0,34))
# [1] 714
这可以做到吗?