slh*_*hck 8 csv r export-to-csv
考虑以下数据 - 只是虚拟数据,自动创建实际数据:
features <- numeric(0)
features <- c(features, 1, 2, 3, 4, 5, 6)
features2 <- numeric(0)
features2 <- c(features2, 1, 2, 3, 4, 5, 6)
featureVectors <- list()
featureVectors[["file1"]] <- features
featureVectors[["file2"]] <- features2
resultMatrix <- do.call(rbind, featureVectors)
colnames(resultMatrix) <- c("SPEC_MEAN", "SPEC_SD", "SPEC_MODE", "AUTOC_MEAN", "AUTOC_SD", "ZC_MEAN")
Run Code Online (Sandbox Code Playgroud)
这会产生如下输出:
SPEC_MEAN SPEC_SD SPEC_MODE AUTOC_MEAN AUTOC_SD ZC_MEAN
file1 1 2 3 4 5 6
file2 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
我可以通过调用将其写入CSV文件write.csv(resultMatrix, file="out.csv").
由于结果文件(当前)只是动态创建,我想features在评估它们之后将这些(即向量)写入CSV文件.
所以我认为我会使用write.csv和append,但该选项不适用于该方法.然后我想我可以使用write.table,但有两个问题:
write.table 不会缩进第一个空列名称,从而使我的第一行向左移动一行.
数据以某种方式错误地转置.见下面的例子.
另外,调用这些命令......
write.table(resultMatrix, file="data-appended.csv", sep=",")
write.table(features, file="data-appended.csv", sep=",", append=TRUE, col.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
...产生这个结果:
"SPEC_MEAN","SPEC_SD","SPEC_MODE","AUTOC_MEAN","AUTOC_SD","ZC_MEAN"
"file1",1,2,3,4,5,6
"file2",1,2,3,4,5,6
"1",1
"2",2
"3",3
"4",4
"5",5
"6",6
Run Code Online (Sandbox Code Playgroud)
......这不是我想要的.那么,如何将features矢量的内容(包括file名称)附加到现有的CSV文件中?
Jos*_*ien 15
两次调整将解决您的两个问题.
要保持列标题的缩进,请使用不直观(但记录在案的!)参数col.names=NA:
write.table(resultMatrix, file = "data-appended.csv", sep = ",",
col.names = NA)
Run Code Online (Sandbox Code Playgroud)要将features(矢量)写为行而不是列,请将其转置并将其转换为矩阵,然后再将其传递给write.table():
FF <- as.matrix(t(features))
write.table(FF, file = "data-appended.csv", sep = ",",
col.names = FALSE, append=TRUE)
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
20727 次 |
| 最近记录: |