引用R中循环内的对象

时间:2018-01-15 20:24:03

标签: r

我确信有一个简单的答案。我有一个循环,每次迭代,我创建一个新的向量来存储结果。我通过将名称粘贴在一起然后将该名称分配给空向量来完成此操作。

for (i in seq(1, 50)) {

    current_iteration = i

    x = paste0("resultsVec", current_iteration)

    assign(x, rep(NA, 43))

    paste0("resultsVec", i)

    for (j in seq(1, 100))
    {
        resultsVeci[j] = j * j # <- problem here 
    }


}

但是,你显然不能引用'resultsVeci' - 那么如何在每个循环中引用迭代特定的向量?

如果您执行paste0("resultsVec", i),例如i = 2,则返回字符串"resultsVec2",而不是对象resultsVec2。我如何引用对象而不是字符串?

感谢。

1 个答案:

答案 0 :(得分:2)

对大多数R代码使用const mongoose = require('mongoose'); // Historic Schema const historicSchema = mongoose.Schema({ _id:{ type: String, required: true }, url:{ type: String, required: true }, price:{ type: String, required: true }, timestamp:{ type: String, required: true } }); const Historic = module.exports = mongoose.model('Historic', historicSchema); // Get Historics module.exports.getHistorics = (callback, limit) => { console.log('Get Historics-Historic'); Historic.find(callback).limit(limit); console.log('Get Historics-Historic-After find'); console.log(limit); } get()并不是一个好主意。 (Why is using assign bad?)。最好只使用一个列表。一个简单的assign()可以在这里工作。

lapply

然后您可以使用resultsVec<-lapply(1:50, function(i) (1:100)*(1:100)) reusltsVec[[1]]

获取值