我试图在for循环的每次迭代中用结果pred_pos
填充向量pred
。但是,我的pred_pos
向量永远不会被填充。 my_vec
对象是一个大字符向量列表,我认为不需要为此问题再现,因为它很可能是一个基本的索引错误。我只需要知道如何从这个for循环填充一个向量。我似乎无法找到解决方案。
pred_pos <- vector("numeric" , 2)
for(i in my_vec) {
for(r in pred_pos) {
inserts <- sapply(i, function(n) { n <- cond_probs_neg[n] } )
pred <- sum(unlist(inserts) , na.rm = T) * apriori_neg
pred_pos[r] <- pred
}
}
答案 0 :(得分:2)
假设其余代码有效,则无需明确声明:
pred_pos <- vector("numeric" , 2)
创建一个长度为2的数字向量。你应该能写:
pred_pos <- vector()
现在,当您希望附加到矢量时,您只需使用:
vector[length(vector)+1] <- someData
我相信如果调整代码,您的代码应该有效:
pred_pos <- vector()
for(i in my_vec) {
inserts <- sapply(i, function(n) { n <- cond_probs_neg[n] } )
pred <- sum(unlist(inserts) , na.rm = T) * apriori_neg
pred_pos[length(pred_pos)+1] <- pred
}