Использование цикла внутри функции для загрузки фреймов данных из файлов CSV

Я новичок в R, и у меня возникли проблемы с настройкой функций. Я пытаюсь провести ретроспективное тестирование большого количества активов или рынков. Все эти данные находятся в формате CSV.

У меня есть фрейм данных, который представляет собой список рынков [активов] и их характеристик [список активов], которые я хочу открыть в своей среде, чтобы использовать для тестирования. Мне нужно будет открывать их довольно часто, так как они ежедневно обновляются в виде CSV-файла.

Моя главная цель — получить файлы CSV, которые загружаются ежедневно, и преобразовать их в фрейм данных в R.

Я попытался настроить функцию ниже, я получаю распечатку на своей консоли, но рынки [актив] не отображаются в моей среде.

# this is the function I set up to upload the asset list with the markets and their features/characteristics and in the loop I go through each of their files.
trading.opencsv <- function(rd){
      asset.directory <- paste(rd, "list.csv", sep="")
      assetlist <<- read.csv(asset.directory, stringsAsFactors=FALSE)
      print(assetlist$Market)
      for (i in 1:nrow(assetlist)){
        asset <- assetlist$Market[i]
        x.dir <- paste(rd, asset, ".csv", sep="")
        x <- read.csv(x.dir)
        print(asset)
        assign(asset, x)
      }

    }

#this is the directory I use to save the csv files and running the function.
rd <- "C:/Users/augus/Dropbox/Trading/R/Trading/Dados/"
trading.opencsv(rd)

person Augusto    schedule 18.11.2017    source источник
comment
Думаю, я понимаю, о чем вы спрашиваете, но просто поясню: ваша цель — взять несколько CSV-файлов с одинаковыми столбцами (но только новыми наблюдениями этих переменных) и прочитать их в R так, чтобы данные из каждого CSV-файл находится в одном кадре данных?   -  person duckmayr    schedule 18.11.2017
comment
Поскольку функция имеет свою собственную среду... вам нужно указать в assign, что вы хотите сохранить их в определенной среде. В вашем случае вы, кажется, ожидаете, что он появится в глобальной среде, поэтому приводите его в качестве аргумента. Но имейте в виду, что в целом assign — это всегда плохой выбор. Вместо этого используйте списки.   -  person Tino    schedule 18.11.2017
comment
duckmayr - Да, несколько CSV-файлов с одинаковыми столбцами, но с разными наблюдениями.   -  person Augusto    schedule 18.11.2017
comment
Тино, спасибо, почему назначение — плохой выбор? Кроме того, знаете ли вы, как я могу назначить глобальную среду?   -  person Augusto    schedule 18.11.2017