У меня есть файлы с соглашением об именах и одинаковыми именами столбцов:
ABC_file_name_25
ABC_file_name_50
ABC_file_name_100
Я хочу, чтобы у каждого df
имена столбцов представляли, из какого они файла.Итак, прямо сейчас все df
имеют:
col1 col2 col3
И я хочу, чтобы они были:
df1
col1_ABC_25 col2_ABC_25 col3_ABC_25
df2
col1_ABC_50 col2_ABC_50 col3_ABC_50
df3
col1_ABC_100 col2_ABC_100 col3_ABC_100
Пока у меня есть это, но я не уверен, как применить имена к столбцам:
library(tools)
# Working Directory
setwd("C:/.../Files")
# Get a list of files to read in
temp = list.files(pattern="*.csv")
# Remove .csv
file_name = file_path_sans_ext(temp)
# Get the start of filename prefix
prefix = sub("_.*", "", file_name[1:1])
# Get the suffix number
suffix = sub(".*_", "", file_name)
# Name each df by its filename
for (i in 1:length(temp)) assign(file_path_sans_ext(temp[i]), read.csv(temp[i]))
# Place all df into a list using their prefix
list <- lapply(ls(pattern=prefix), function(x) get(x))