这是一个有点棘手,以显示我的真实数据的问题,但我希望以下的介绍:dplyr ::发生变异:临时贵变量输入到其他几个操作,横行
data_frame(a=c(1,2), b=c(3,4)) %>%
rowwise %>%
mutate(c = a*b, d = c-1, e=c+2) %>%
ungroup
在上面的例子中当然rowwise
是不需要的。
现在让我们假设c
的计算既耗时又耗时,c
是一个很大的对象而没有向量化。 所以你不需要执行两次,并且希望在每一行计算发生后从内存中清除它。
有没有一个聪明的方法来做到这一点?也许用purrr::map
?
有人请纠正我,如果我错了,但对象没有矢量化;它是矢量化的操作。在这种情况下,对于矢量'a'和'b',乘法,加法和减法都是矢量化的。因此,对于'c'。如果我说的话完全没有了,那么我可能不会理解这个问题。 – Abdou
是的,我的意思是创建c,d,e的计算/操作应该假设不是为了我的目的而被矢量化的。 –