简单的问题,我使用pmmlcode <- pmml(my.object)
存储了R对象的PMML代码,我想用某种方法将其直接保存到文本文件中。通常的write.table
方法无效,因为数据不是表格。
答案 0 :(得分:9)
您可以像下例中一样使用SaveXML:
library(randomForest)
library(pmml)
data(airquality)
ozone.out <- randomForest(Ozone ~ Wind+Temp+Month, data=na.omit(airquality), ntree=200)
saveXML(pmml(ozone.out, data=airquality), "airquality_rf.pmml")
答案 1 :(得分:2)
从toString.XMLNode
包中尝试XML
,然后使用writeLines
写入文件。您需要提供示例数据以获得更完整的答案。
答案 2 :(得分:2)
我正在使用iris数据生成一个虚拟pmml文件和sink命令,将你的pmml输出放入.pmml文件中,
R > library(pmml)
R > lml <- lm(iris$Sepal.Length~iris$Sepal.Width)
R > sink("myPmml.pmml")
R > cat("<?xml version=\"1.0\"?>\n")
R > pmml(lml)
R > sink()
输出myPmml.pmml应该保存在.Rprofile上设置setwd的任何地方,默认情况下是Windows中的“Mydocuments”。即使您在sink()命令中放入.txt而不是.pmml,这也会起作用,例如:
sink("mypmml.txt")
编辑:添加cat命令将xml标记放在最上面,感谢J.Dimeo
答案 3 :(得分:1)
在缺少测试代码的情况下创建了这个,但在解决了我之前在UCLA CRAN镜像上提供pmml软件包的问题。这为人类可读性提供了可接受的输出,尽管不是一种可以解释我的PMML感知应用程序的格式:
cat(paste(unlist(pmmlcode),"\n"), file="yourfile.txt")
这些都没有奏效:
如果它只是一个字符向量:
cat(pmmlcode, file="yourfile.txt")
或者如果它是一个列表:
lapply(pmmlcode, cat, file="yourfile.txt", append=TRUE)