rbind 循环内的数据集
rbind on a dataset inside a loop
我有一个经过两次的循环。在每次迭代结束时,它会创建 two..."new"... 和 "different" 组观察值..... 我将其存储在数据帧数据A和数据B。我使用 left_join 组合这两个数据集 dataA 和 dataB 并创建一个最终数据集。
days = seq(from=as.Date('2011-08-01'), to=as.Date("2011-08-02"),by='days')
for ( i in seq_along(days) )
{
.
.
dataA
.
.
dataB
.
.
dataC = left_join(dataA, dataB, by="ID")
}
我想要的是在每次迭代后更新数据集 dataC,例如 rbind。在第 1 次迭代结束时,dataC 将有 100 个观察值,在第 2 次迭代中将生成 50 个新观察值,因此这应该更新到 dataC 中,dataC 应该有 100+50 = 150 个观察值。不知道从哪里开始,需要帮助。
试试这个:
#initialize a list before the loop
res<-vector("list",length(days))
#inside the loop set the i-th element of the list
res[[i]]<-left_join(dataA, dataB, by="ID")
#rbind all the elements after the loop
res<-do.call(rbind,res)
循环之前:
DataD <- data.frame()
循环结束时:
DataD <- rbind(DataD, DataC)
我有一个经过两次的循环。在每次迭代结束时,它会创建 two..."new"... 和 "different" 组观察值..... 我将其存储在数据帧数据A和数据B。我使用 left_join 组合这两个数据集 dataA 和 dataB 并创建一个最终数据集。
days = seq(from=as.Date('2011-08-01'), to=as.Date("2011-08-02"),by='days')
for ( i in seq_along(days) )
{
.
.
dataA
.
.
dataB
.
.
dataC = left_join(dataA, dataB, by="ID")
}
我想要的是在每次迭代后更新数据集 dataC,例如 rbind。在第 1 次迭代结束时,dataC 将有 100 个观察值,在第 2 次迭代中将生成 50 个新观察值,因此这应该更新到 dataC 中,dataC 应该有 100+50 = 150 个观察值。不知道从哪里开始,需要帮助。
试试这个:
#initialize a list before the loop
res<-vector("list",length(days))
#inside the loop set the i-th element of the list
res[[i]]<-left_join(dataA, dataB, by="ID")
#rbind all the elements after the loop
res<-do.call(rbind,res)
循环之前:
DataD <- data.frame()
循环结束时:
DataD <- rbind(DataD, DataC)