下面是一个用于比较两个CSV文件并列出相同列名行之间变化的R函数的示例代码:
compare_csv <- function(file1, file2) {
# 读取文件1和文件2
data1 <- read.csv(file1)
data2 <- read.csv(file2)
# 获取列名
col_names <- intersect(names(data1), names(data2))
# 遍历每一列
for (col in col_names) {
# 获取列的数据
col_data1 <- data1[[col]]
col_data2 <- data2[[col]]
# 对比数据
diff <- col_data1 != col_data2
# 找到有变化的行
changed_rows <- which(diff)
# 打印变化的行
if (length(changed_rows) > 0) {
cat("列名:", col, "\n")
cat("变化的行:\n")
for (row in changed_rows) {
cat("行:", row, "\n")
cat("文件1中的值:", col_data1[row], "\n")
cat("文件2中的值:", col_data2[row], "\n")
cat("\n")
}
}
}
}
使用示例:
# 比较两个CSV文件
compare_csv("file1.csv", "file2.csv")
请确保将file1.csv
和file2.csv
替换为要比较的实际文件名。该函数将打印出每个有变化的列名以及相应的变化行、文件1中的值和文件2中的值。