Мне нужно разделить файл CSV на несколько файлов, основываясь на значениях 3 столбцов: REG, PROV и COM (это три уровня политического разделения территории).
Мне удалось выполнить разделение по REG на основе приведенного ниже кода, но я не могу сделать это на основе трех столбцов одновременно.
#H is the large dataframe containing data for each REG, PROV and COM
H <- read_delim("dataset.csv", ";", escape_double = FALSE, trim_ws = TRUE)
#Get the list of unique REG, PROV and COM names
H$REG <- as.factor(H$REG)
H$PROV <- as.factor(H$PROV)
H$COM <- as.factor(H$COM)
#Check the list of unique REG, PROV and COM names
levels(H$REG)
levels(H$PROV)
levels(H$COM)
#Create csv files for each REG - Splitting by REG values into multiple csv files
for (name in levels(H$REG)){
tmp=subset(H,REG==name)
fn=paste('reg-split/reg_',gsub('','',name), '.csv',sep='')
write.csv(tmp,fn,row.names=FALSE)
}
Выходными данными должны быть несколько файлов на основе значений столбцов с такой структурой: reg- {n1} _prov- {n2} _com- {n3} .csv.
Пример кадра данных
"REG","PROV","COM","AMMOUNT"
1,11,111,213123
1,11,111,645573
1,12,112,545455
1,12,112,167442
1,13,113,767436
1,13,123,231653
1,13,133,124674
2,21,211,876534
2,21,212,439324
2,21,212,872364
Выходы
reg-1_prov-11_com-111.csv
reg-1_prov-12_com-112.csv
reg-1_prov-13_com-113.csv
reg-1_prov-13_com-123.csv
reg-1_prov-13_com-133.csv
reg-2_prov-21_com-211.csv
reg-2_prov-21_com-212.csv