用for循环填充向量

时间:2017-03-23 19:00:46

标签: r

我试图在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
        } 
      }

1 个答案:

答案 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
 }