嵌套for循环仅迭代最后的条目[r]
我试图从数据帧列表中提取每行32个数据帧。但是,它只迭代两个for循环中的最后一个值。我不确定为什么这不起作用,但也许我应该初始化一个空的数据帧列表,而不仅仅是一个空列表嵌套for循环仅迭代最后的条目[r],r,R,我试图从数据帧列表中提取每行32个数据帧。但是,它只迭代两个for循环中的最后一个值。我不确定为什么这不起作用,但也许我应该初始化一个空的数据帧列表,而不仅仅是一个空列表 a <- list() for (z in 1:200){ for (i in 1:32){ a[z] = ListOfDataFrames[[i]][["X"]][[z,1]] } } 根据显示的结构,使用tidyverse的选项将是 library(dplyr) library(purrr) o
a <- list()
for (z in 1:200){
for (i in 1:32){
a[z] = ListOfDataFrames[[i]][["X"]][[z,1]]
}
}
根据显示的结构,使用
tidyverse
的选项将是
library(dplyr)
library(purrr)
out <- map(ListOfDataFrames, ~ pluck(.x, "X") %>%
group_split(grp = row_number(), keep = FALSE)) %>%
transpose %>%
map(bind_rows)
-检查
all.equal(out, a, check.attributes = FALSE)
#[1] TRUE
数据
ListOfDataFrames您应该添加一个。
l1 <- nrow(ListOfDataFrames[[1]]$X)
a <- vector('list', l1)
for (z in seq_len(l1)){
for (i in seq_along(ListOfDataFrames)){
a[[z]] = rbind(a[[z]], ListOfDataFrames[[i]][["X"]][z,])
}
}
all.equal(out, a, check.attributes = FALSE)
#[1] TRUE
ListOfDataFrames <- list(list(X = structure(list(col1 = 1:6, col2 = 7:12), class = "data.frame", row.names = c(NA,
-6L)), Y = 1:7), list(X = structure(list(col1 = 1:6, col2 = 7:12), class = "data.frame", row.names = c(NA,
-6L)), Y = 1:7), list(X = structure(list(col1 = 1:6, col2 = 7:12), class = "data.frame", row.names = c(NA,
-6L)), Y = 1:7), list(X = structure(list(col1 = 1:6, col2 = 7:12), class = "data.frame", row.names = c(NA,
-6L)), Y = 1:7), list(X = structure(list(col1 = 1:6, col2 = 7:12), class = "data.frame", row.names = c(NA,
-6L)), Y = 1:7))