[英]Convert a list into multiple data frame by list column
我已经导入了一个包含多个工作表的 excel 文件。 这是一个列表格式。
names(mysheets)
#[1] "test_sheet1" "test_sheet2"
Test_sheet1 和 test_sheet2 具有不同的矩阵。
我必须将每个工作表作为单独的数据框。
如果手动执行,代码将如下所示:
s_1 <- data.frame(mysheets[1])
s_2 <- data.frame(mysheets[2])
我尝试编写一个函数来执行此操作,因为我有很多 excel 文件并且每个文件都有多个工作表
p_fun <- function (y) {
for (s_i in 1:2) {
for (i in 1:2) {
s_i<- data.frame(y[i])
return(s_i) }}}
它没有正常工作。 感谢有人可以提供帮助。
您可以使用mget
获取对象,然后将它们更改为 data.frame
list_df <- lapply(mget(names(mysheets)), data.frame)
如果您希望它们作为单独的数据框,我们可以这样做
names(list_df) <- paste0('s_', seq_along(list_df))
list2env(list_df, .GlobalEnv)
如果我们在for
循环中执行此操作,我们可以使用assign
for(i in seq_along(mysheets)) assign(paste0("s", i), data.frame(mysheets[i]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.