Я читаю кучу шейп-файлов в R и использую lapply
, чтобы запустить его через кучу файлов. Прямо сейчас код работает нормально, но он выводит много информации в консоль. Я пытаюсь избавиться от этого, чтобы консоль стала чище.
load_shapefiles <- function(file_name){
#grabs the last two digits of the year for the current file
partial_year <- str_sub(file_name, start = 9, end = 10)
#read in files
st_read(dsn = sprintf("data/%s", file_name), layer = sprintf("Census_sum_%s", partial_year))
}
#apply the loading function across a list of file names
list_data <- lapply(list_filenames, function(x) load_shapefiles(x))
Код выполняется очень быстро, но для каждого файла выводится некоторая информация, подобная этой:
Reading layer 'Census_sum_17' from data source xxxx using driver ESRI Shapefile
Simple feature collection with xxxxx features and xxxxxx fields
geometry type: POLYGON
dimension: XY
bbox: xmin: xxxx ymin: xxxxxx xmax: xxxxxx ymax: xxxxxxx
epsg (SRID): NA
proj4string: xxxxx
Примечание: я заменил 'xxxx' фактическими значениями.
Я бы хотел, чтобы он не печатал эту информацию в консоли. Я попытался обернуть lapply
и функцию в lapply
в invisible()
, как рекомендовано здесь . Ни один из подходов не сработал. Есть идеи?