Вам просто нужно написать свою собственную функцию, которая читает csv и добавляет нужный столбец, прежде чем объединять их.
my_read_csv <- function(x) {
out <- read_csv(x)
site <- str_extract(x, "[A-Z]{2}-[A-Za-z0-9]{3}")
cbind(Site=site, out)
}
filenames <- list.files(path, full.names = TRUE, pattern = fileptrn, recursive = TRUE)
tbl <- lapply(filenames, my_read_csv) %>% bind_rows()
Вы должны вызвать debug(<functionName>)
для выполнения функции. При следующем вызове функции автоматически открывается так называемая среда браузера и список содержимого вашей функции. Вы выполняете один шаг, нажимая Return или с помощью команды n
(далее). Один шаг - это один блок (обычно одна строка), который будет указан до его запуска. Чтобы запустить функцию до конца, нажмите c
(продолжить). Когда вы находитесь в режиме браузера, вы можете использовать ls()
, str()
, class()
, ... для проверки объектов. Ваш пример выглядит так:
> exampleSum <- function(x, y) {
+ x <- x+1
+ return(x+y)
+ }
> debug(exampleSum) # set debug flag
> exampleSum(1, 2) # run function in browser mode
debugging in: exampleSum(1, 2)
debug: {
x <- x + 1
return(x + y)
}
Browse[2]> n # next step
debug: x <- x + 1
Browse[2]> ls() # show objects
[1] "x" "y"
Browse[2]> x # show x
[1] 1
Browse[2]> c # run function to end
exiting from: exampleSum(1, 2)
[1] 4
> undebug(exampleSum) # remove debug flag
Последний вызов undebug(<functionName>)
удаляет флаг отладки из функции таким образом, что он будет запускаться нормально при следующем вызове.
Сначала вам нужно загрузить функцию в рабочую область R (путем копирования / вставки ее в R). Затем вы можете запустить его, используя exampleSum(x = 1, y = 1)
. Вы можете проверить, что это там, набрав exampleSum
в консоли R. Вы также можете запустить файл сценария с помощью source()
. Пример использования будет source("d:/R/my_script.R")
.
Я думаю, вы бы очень выиграли, прочитав хотя бы Введение в R . Существует также множество книг для новичков R, которые объясняют самые основы. Эквивалентная информация доступна в вышеупомянутых AI2R и свободных материалах, плавающих по Интернету. Поиск в справочнике R help также ... полезен.