从以下数据帧开始
key = c("A", "B", "C")
value = c(1, 2, 3)
df = data.frame(key,value)
如何设计函数以应用基于键的公式
例如,A+B*C 应返回 1+2*3 = 7
我们可以将其转换为list
,然后应用逻辑
lst <- split(df$value, df$key)
lst[['A']] + lst[['B']] * lst[['C']]
#[1] 7
或者将list
转换为三列数据集并使用with
,得到输出
with(as.data.frame(lst), A + B * C)
#[1] 7
或者这也可以工作,因为list
元素是 length
1
with(lst, A + B * C)
#[1] 7