在R中使用矩阵作为向量的查找表

时间:2013-05-29 15:12:14

标签: r matrix lookup

我有专栏

sex <- c(1, 2, 1)
age <- c(12, 13, 14)

和查找表

bmi_adipos_limit_table = array(c(24.77, 24.91, 25.02, 24.65, 24.92, 25.18), dim = c(4,2))

并且喜欢做

bmi_adipos_limits <- magicFunction(age, sex)

bmi_adipos = c(24.77, 24.92, 25.02)

我试过

bmi_adipos = bmi_adipos_limits[age-11, sex]

哪个不起作用(返回值是我期望的bmi_adipos_limits[(age-11) X sex])。那么有人可以给我一个提示,我正在寻找的是magicFunction吗?

1 个答案:

答案 0 :(得分:2)

您正在寻找mapply

mysubsetter <- function(x, y) {
    bmi_adipos_limit_table[x-11, y]
} 

mapply(mysubsetter, age, ex)
# [1] 24.77 25.18 25.02