我确信有一个简单的答案。我有一个循环,每次迭代,我创建一个新的向量来存储结果。我通过将名称粘贴在一起然后将该名称分配给空向量来完成此操作。
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
。我如何引用对象而不是字符串?
感谢。
答案 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]]
等