我有一个函数,它接受多个输入,并创建多个输出。 例如:
example_fun = function(a,b){
x = a+b
y = a-b
return(list(x=x, y=y))
}
我如何使用dplyr ::变异,以评估在数据帧中的每一行这个功能呢? 转
df = expand.grid(a=c(7,8), b=c(9,10))
df
a b
1 7 9
2 8 9
3 7 10
4 8 10
成
a b x y
1 7 9 16 -2
2 8 9 17 -1
3 7 10 17 -3
4 8 10 18 -2
这下面的代码几乎完成它:
df = df %>%
mutate(outputs = pmap(list(a,b), example_fun)) %>%
unnest()
df
a b outputs
1 7 9 16
2 7 9 -2
3 8 9 17
4 8 9 -1
5 7 10 17
6 7 10 -3
7 8 10 18
8 8 10 -2