我想从 R 中的数据框生成一个 xml 文件。这是一个示例:
数据框
x y z
1 2 'bla'
3 4 'blou'
5 7 'bli'
xml结果:
<xml>
<tuple x="1" y="2" z="bla" \>
<tuple x="3" y="4" z="blou" \>
<tuple x="5" y="7" z="bli" \>
</xml>
这是您正在寻找使用该XML
软件包的内容
dat <- data.frame(x=c(1,3,5), y=c(2,4,7), z=c("bla", "blou", "bli"))
dat$z <- as.character(dat$z)
library(XML)
top <- newXMLNode("xml")
newXMLNode("tuple", attrs = dat[1,], parent = top)
newXMLNode("tuple", attrs = dat[2,], parent = top)
newXMLNode("tuple", attrs = dat[3,], parent = top)
top
给出输出:
<xml>
<tuple x="1" y="2" z="bla"/>
<tuple x="3" y="4" z="blou"/>
<tuple x="5" y="7" z="bli"/>
</xml>
也许这样的事情会有所帮助:
d <- data.frame(x=1:3, y=3:5, z=c("foo", "bar", "baz"))
cat(paste("<xml>", paste('<tuple x="', d$x, '" y="', d$y, '" z="', d$z, '" \\>"', sep="", collapse="\n"), "</xml>", sep="\n"), "\n")
## <xml>
## <tuple x="1" y="3" z="foo" \>"
## <tuple x="2" y="4" z="bar" \>"
## <tuple x="3" y="5" z="baz" \>"
## </xml>