使用填充在循环外部的sapply的向量

时间:2017-06-25 12:30:27

标签: r sapply

关于在填充它们的循环外使用填充的向量:

我想使用R中的[i]索引为我的向量添加值。

举个例子:

vector_for_loop = c(1:10) #take values from this vector
outcome_vector = 0 #add new values to this vector

我使用sapply并根据索引(这里等于值)添加它们:

sapply(vector_for_loop, function(i){
  outcome_vector[i] = i+10
})

打印(在循环期间):11 12 13 14 15 16 17 18 19 20

但是,我希望outcome_vector包含这些值,但是:

outcome_vector0

在填充outcome_vector以使其在循环后可用时,我做错了什么?

1 个答案:

答案 0 :(得分:1)

假设您希望使用sapply执行此操作的具体原因,可以使用<<-分配给父作用域:

vector_for_loop = c(1:10) #take values from this vector
outcome_vector = 0 #add new values to this vector

sapply(vector_for_loop, function(i){
    outcome_vector[i] <<- i+10
})

在函数范围内使用<-分配i + 10