从键值数据框获取变量值

时间:2018-04-21 11:01:34

标签: r

从以下数据框开始

key = c("A", "B", "C") 
value = c(1, 2, 3) 
df = data.frame(key,value)

如何设计基于键

应用公式的函数 例如,A + B * C应返回1 + 2 * 3 = 7

1 个答案:

答案 0 :(得分:1)

我们可以将其转换为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