【问题标题】:How to save dataframes with changing names in a for loop in R?如何在 R 的 for 循环中保存更改名称的数据帧?
【发布时间】:2020-09-08 17:22:45
【问题描述】:

我正在做一些数据分析,其中我将数据集放在一个文件夹中,我使用 for 循环遍历所有数据集并 (1) 绘制图表 (2) 从图表中计算一些值并将它们存储在然后将其附加到列表中的数据框。我们的想法是为每个数据集制作图表,并为每个数据集制作一个包含此摘要数据框的列表,以便稍后进行分析。

对于循环遍历的每个数据集,我都有一个变量指定循环中的当前数据集。此变量用于标记和保存图形以及标记数据框并将其附加到列表中。我可以做图表位,但我无法将数据框添加到 for 循环中的列表中。我的代码如下:

# Create empty list for adding things to from each loop
  parameters <- list()

# Begin the loop
  for (file in filesVector) {
 
# Extract keywords from name of file to be used later
  splitname <- strsplit(file, '4-')
  splitname <- unlist(splitname)
  secondhalf <- splitname[2]
  splitsecondhalf <- strsplit(secondhalf, '\\.')
  splitsecondhalf <- unlist(splitsecondhalf)
  title <- splitsecondhalf[1]
  
# Extract values as a dataframe and assign to varying name    
  assign(paste(title, 'blanks', sep= '-'),data_drc_merge[data_drc_merge$ID == 
  "B", ])

# Add to list
  parameters <- c(parameters, paste(title, 'blanks', sep= '-'))

但是当我尝试将它分配给数据框时,我得到的变量的当前值被添加到那里

任何想法如何解决这个问题?

【问题讨论】:

    标签: r dataframe for-loop


    【解决方案1】:

    您能否使用[[paste0 粘贴您要添加到列表中的data.frame 的名称:

    list_of_df = list()
    for(i in files){
    # do analysis...
    list_of_df[[paste0(name_, i)]] = current_df
    
    }
    

    【讨论】:

      猜你喜欢
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      相关资源
      最近更新 更多