我有10个csv文件,每个文件都有一个列数据(名称)条目。例如,文件1有400个名称条目,文件2有386个名称条目,文件3有700个名称条目,依此类推。 我想在所有10个csv文件中找到公共条目,并将它们写入新的csv文件。
如果有人可以发布解决方案,最好是在R。
,那就太好了答案 0 :(得分:1)
你可以这样做:
your_files <- c(path1,path2,...)
your_tables <- lapply(your_files,read.csv)
your_common_colnames <- Reduce(intersect,lapply(your_tables,colnames))
your_new_tables <- lapply(your_tables,`[`,your_common_colnames)
your_output <- do.call(rbind,your_new_tables)
示例:
mtcars1 <- mtcars[1:3,1:5]
# mpg cyl disp hp drat
# Mazda RX4 21.0 6 160 110 3.90
# Mazda RX4 Wag 21.0 6 160 110 3.90
# Datsun 710 22.8 4 108 93 3.85
mtcars2 <- mtcars[1:3,3:10]
# disp hp drat wt qsec vs am gear
# Mazda RX4 160 110 3.90 2.620 16.46 0 1 4
# Mazda RX4 Wag 160 110 3.90 2.875 17.02 0 1 4
# Datsun 710 108 93 3.85 2.320 18.61 1 1 4
your_tables <- list(mtcars1,mtcars2)
your_common_colnames <- Reduce(intersect,lapply(your_tables,colnames))
your_new_tables <- lapply(your_tables,`[`,your_common_colnames)
your_output <- do.call(rbind,your_new_tables)
# disp hp drat
# Mazda RX4 160 110 3.90
# Mazda RX4 Wag 160 110 3.90
# Datsun 710 108 93 3.85
# Mazda RX41 160 110 3.90
# Mazda RX4 Wag1 160 110 3.90
# Datsun 7101 108 93 3.85