【问题标题】:How to iteratively name dataset如何迭代地命名数据集
【发布时间】:2021-07-21 10:09:37
【问题描述】:

这是我的代码示例:

library(Rcpp)
library(readxl)

Sheets<-readxl::excel_sheets("~/data.xlsx")
sheet_names <- sheets[grepl("String", sheets, ignore.case=TRUE)

for (i in 1:length(sheet_names)){
    dataset[i] <- read_excel("data.xlsx", sheet = sheet_names[i])
}

我想做的是返回一个名为“dataset1”的数据集,其中 i=1 和“dataset2”,其中 i=2,依此类推。或者,我想使用工作表本身的名称,即 sheet_names[i] 但是当尝试使用它时,它会覆盖变量中的字符串。

如果您对此提出任何建议,我将不胜感激。

【问题讨论】:

  • 你试过了吗? dataset
  • 我现在已经尝试过了,它很有魅力。非常感谢。

标签: r for-loop dataset


【解决方案1】:

考虑将数据存储在列表中,而不是在全局环境中创建多个数据框。这些物体难以管理,污染全球环境。

library(readxl)

Sheets <-  excel_sheets("~/data.xlsx")
sheet_names <- grep("String", sheets, ignore.case=TRUE, value = TRUE)
list_data <- lapply(sheet_names, function(x) read_excel("data.xlsx", sheet = x))

list_data 是数据帧列表。如果您需要访问单个数据帧,您可以使用list_data[[1]] 获取第一个数据帧,list_data[[2]] 获取第二个数据帧,依此类推。

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    相关资源
    最近更新 更多