【发布时间】:2019-06-07 17:27:25
【问题描述】:
我有一个数据框,其中有几列代表某个方程中的系数。我想评估这个方程并将其添加到数据框中(例如逐行计算)。但要评估方程,我需要将所有系数作为行向量。这是一个例子:
d = data.frame(id = 1:2,name=c("a","b"),
c1 = 3:4,c2=5:6,c3=2:3,
x1=1:2,x2=7:8,x3=3:2)
我需要计算 c1*x1+c2*x2+x3*x3,但输入确切的等式是不切实际的。在实际情况下,有几十个。理想情况下,我想选择它们并将它们视为行向量,如下所示:
# not a real code, but a wishful thinkg
d %>% mutate(result = sum((select(starts_with(c)) %>% as.vector)*
select(starts_with(x)) %>% as.vector)
)
)
这当然不是那样工作的,但我想知道你是否知道在进行 mutate 中的逐行计算时将一组列视为行向量的任何方法。
谢谢。
【问题讨论】: