Вы можете получить все имена файлов, для которых вы хотите применить это, используя list.files
, l oop для каждого имени файла, прочитать его, match
это с csv2
dataframe и получить соответствующее значение для умножения.
filenames <- list.files('path/of/files', full.names = TRUE, pattern = "\\.csv$")
list_df <- lapply(filenames, function(x) transform(read.csv(x, header = FALSE),
V3 = V3 * csv2$V3[match(
tools::file_path_sans_ext(basename(x)), csv2$V2)]))
Это вернет вам обновленный список информационных фреймов, к которым можно получить доступ, например, list_df[[1]]
, list_df[[2]]
et c.
, где csv2
равно
csv2 <- structure(list(V1 = structure(c(1L, 3L, 2L), .Label = c("hey",
"mat", "sol"), class = "factor"), V2 = c(318L, 497L, 498L), V3 = c(0.08,
0.22, 0.06)), class = "data.frame", row.names = c(NA, -3L))