我在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'中的所有值进行操作。
答案 0 :(得分:1)
看起来您最好以sd_all
作为列表对象。这样您就可以插入2个值中的每一个(sd(resA)
和sd(resC)
)。
初始化列表很简单(这将取代代码的第二行):
sd_all <- list()
然后你可以将你想要的两个值插入到单个列表元素中(这将替换for
循环中的最后一行):
sd_all[[ i ]] <- c( sd( resA ), sd( resC ) )
循环之后,您可以将此列表作为列插入data.frame中,如果这是您想要做的事情。