我正在寻找使用我在循环中创建的 R 将两行添加到 csv 文件中。我从一些文件开始,命名为 file1.csv、file2.csv 等,每个文件都包含两列坐标。然后,我将它们用作索引矩阵来创建新的 csv 文件,这些文件在索引文件的条目中列出了“2”,否则为“0”。我将标题添加到文件中,以便生成的文件如下所示:
"","1","2","3","4","5"
"1",0,0,0,0,0
"2",0,0,0,0,2
这正是我需要的(我的代码在下面)。但是,我还需要在 csv 文件的开头添加两行,分别在标题之前读取“min 1”和“max 3”,这样它看起来像:
"min 1",,,,
"max 3",,,,
"","1","2","3","4","5"
"1",0,0,0,0,0
"2",0,0,0,0,2
我尝试将行添加到 M 矩阵、rbinding、合并两个 csv、读回 csv 文件并尝试添加行,但我没有得到任何有效的东西。非常感谢您的建议(以及改进我确信非常不雅的现有代码)。
谢谢
csvdat <- list.files(pattern='file.*.csv')
for (i in seq_along(csvdat)){
data <- read.csv(csvdat[i])
data[,2] -> x
data[,3] -> y
index=cbind(x,y)
a <- length(x)+1
matrix(nrow=a,ncol=a) -> M
M[] <- 0
M[index] <- 2
Cn <- c(1:a)
colnames(M) <- Cn
file <- as.character(paste("matrix", i, ".csv", sep=""))
write.csv(M, file,col.names=TRUE)
}