R For循环无法存储数据

R For循环无法存储数据,r,loops,for-loop,storage,R,Loops,For Loop,Storage,这可能是一个很简单的问题,但我对R很陌生。我有一个for循环 holder<-rep(0,3) for(i in 1:3) { apple<-c(i+1, i*2, i^3) holder[i]<-apple } holder您可以将其作为矩阵使用: holder<-matrix(0,nrow=3,ncol=3) for(i in 1:3){ apple<-c(i+1, i*2, i^3) holder[,i]<-apple # c

这可能是一个很简单的问题,但我对R很陌生。我有一个for循环

holder<-rep(0,3)
for(i in 1:3) {
  apple<-c(i+1, i*2, i^3)
  holder[i]<-apple
}

holder您可以将其作为矩阵使用:

holder<-matrix(0,nrow=3,ncol=3)
for(i in 1:3){
    apple<-c(i+1, i*2, i^3)
    holder[,i]<-apple  # columnwise, that's how sapply does it too
}

holder您应该制作一个正确尺寸的矩阵,然后用值填充。还要记住在i后面加一个逗号,这样才能正确索引矩阵

holder<-matrix(nrow = 3, ncol = 3)

for(i in 1:3)

{

  apple<-c(i+1, i*2, i^3)

  holder[i,]<-apple

}

霍尔德利刚刚键入了这个答案:)谢谢。我一定会看看这些教程。贝西,只是一个评论。我总是在尝试提取for循环输出时陷入困境。我已经复习了好几本R教程和书籍,而且这些例子总是非常基本的。实际上,for循环背后的逻辑很简单,但事情会变得复杂,这取决于重复的函数。因此,输出可能是向量、列表等,获取它们对我来说是一场噩梦。@Rafael如果函数的输出在每次循环中都未知或不同,那么使用列表是最安全的。但是在大多数情况下,你可以通过使用sappy()或lappy()来解决所有这些问题。嗨,乔里斯,很抱歉我迟了回答你说谢谢。我会记住你的advice@user1021000事实上,你们对“持有者”的定义有疑问,它应该是矩阵而不是向量。
holder <- vector('list',3)
for(i in 1:3){
    apple<-c(i+1, i*2, i^3)
    holder[[i]]<-apple
}
holder <- sapply(1:3,function(i) c(i+1, i*2,i^3))
holder.list <- sapply(1:3,function(i) c(i+1, i*2,i^3),simplify=FALSE)
holder<-matrix(nrow = 3, ncol = 3)

for(i in 1:3)

{

  apple<-c(i+1, i*2, i^3)

  holder[i,]<-apple

}