R在for循环中向vector添加值

时间:2017-01-03 09:22:24

标签: r

我在R& amp;使用for循环迭代我的数据:

pos = c(1256:1301,6542:6598)
sd_all = null


for (i in pos){
    nameA = paste("A", i, sep = "_")
    nameC = paste("C", i, sep = "_")
    resA = assign(nameA, unlist(lapply(files, function(x) x$percentageA[x$position==i])))
    resC = assign(nameC, unlist(lapply(files, function(x) x$percentageC[x$position==i])))
    sd_A = sd(resA)
    sd_C = sd(resC)
    sd_all = ?
}

现在我想生成一个名为'sd_all'的向量,其中包含resA&的标准偏差。 RESC。我不能只做'sd_all = c(sd(resA),sd(resC))',因为那时我只在'pos'中使用一个值。我想对'pos'中的所有值进行操作。

1 个答案:

答案 0 :(得分:1)

看起来您最好以sd_all作为列表对象。这样您就可以插入2个值中的每一个(sd(resA)sd(resC))。

初始化列表很简单(这将取代代码的第二行):

sd_all <- list()

然后你可以将你想要的两个值插入到单个列表元素中(这将替换for循环中的最后一行):

sd_all[[ i ]] <- c( sd( resA ), sd( resC ) )

循环之后,您可以将此列表作为列插入data.frame中,如果这是您想要做的事情。