输出时如何格式化CSV文件中的输出

时间:2017-03-06 11:16:12

标签: r csv

所以我想在csv文件中输出一个输出,但是我根据需要格式化了。

我的代码

method.metric   <- mmetric(testCenScal[[course_name]], method.pred, c("RMSE", "R2", "MAE", "COR"))
write.table(method.metric, "metric.csv", sep = ",", col.names = T, append = T)

当前输出

"x"
"MAE",0.636059658390333
"RMSE",0.814405873704867
"COR",0.581863604936215
"R2",0.338565254749368
"x"
"MAE",0.636059658390333
"RMSE",0.814405873704867
"COR",0.581863604936215
"R2",0.338565254749368
"x"
"RMSE",0.869309100173694
"R2",0.356594555638249
"MAE",0.653084184175849
"COR",0.597155386510286
"x"
"RMSE",0.869309100173694
"R2",0.356594555638249
"MAE",0.653084184175849
"COR",0.597155386510286

如果我可以将此输出格式化为:

,那将是很好的
RMSE   R2    MAE   COR  param1     param2
0.89  0.35  0.65  0.59  courseA  Blackboost
0.89  0.35  0.65  0.59  courseB  Blackboost
0.89  0.35  0.65  0.59  courseC  Blackboost
0.89  0.35  0.65  0.59  courseD  Blackboost
0.89  0.35  0.65  0.59  courseE  Blackboost
0.89  0.35  0.65  0.59  courseA  Rpart
0.89  0.35  0.65  0.59  courseB  Rpart
0.89  0.35  0.65  0.59  courseC  Rpart
0.89  0.35  0.65  0.59  courseD  Rpart
0.89  0.35  0.65  0.59  courseE  Rpart

我不知道什么是“x”,它来自哪里,我想我没有提到的列名,因此它打印默认为“x”?

我在函数中有这个代码所以我传递了两个参数,一个是方法,另一个是目标字段。我想在将其附加到CSV文件时打印它们。

如果我输入dput(method.metric)

我输出为:

structure(c(0.869309100173694, 0.356594555638249, 0.653084184175849, 
0.597155386510286), .Names = c("RMSE", "R2", "MAE", "COR"))

我已经尝试使用代码write.csv(method.metric, file ="metric.csv", row.names=FALSE, eol=",", append=T),但它没有多大帮助。

我将尝试使用cbind和其他函数处理你在R中所说的格式化。如果我得到上述格式的输出,我将能够轻松创建图形,因为我输出了大量的预测模型结果。

0 个答案:

没有答案