【发布时间】:2013-12-06 17:35:52
【问题描述】:
我需要读取一个没有标题且列数和行数未知的 CSV 文件。但是,每隔一列都属于一个矩阵,而下一列需要在不同的矩阵中。示例
CSV 输入:
1,2,3,4
1,2,3,4
1,2,3,4
1,2,3,4
期望的结果相当于:
matrix1 <- (c( 1, 3,
1, 3,
1, 3,
1, 3), NumberOfRows, NumberOfColumns, byrow=T);
和
matrix2 <- (c( 2, 4,
2, 4,
2, 4,
2, 4), NumberOfRows, NumberOfColumns, byrow=T);
我已经尝试过类似的方法(但这似乎过于复杂并且无论如何都不起作用)。在 R 中没有一种简单的方法可以做到这一点吗?
mydata<- read.csv("~/Desktop/file.csv", header=FALSE, nrows=4000);
columnCount<-ncol(mydata);
rowCount<-nrow(mydata);
evenColumns <- matrix(); oddColumns <-matrix();
for (i in 1:columnCount) {
if (i %% 2) {
for (l in 1:rowCount){
col <- 1;
evenColumns[col, l] <-mydata[i,l];
col<-col+1;
}
}
else {
for (l in 1:rowCount){
col <-1;
oddColumns[col, l] <-mydata[i,l];
col<-col+1;
}
}
}
这应该如何在 R 中正确完成?
【问题讨论】: