1

我想从 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>
4

2 回答 2

1

这是您正在寻找使用该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> 
于 2013-04-18T16:43:55.517 回答
1

也许这样的事情会有所帮助:

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> 
于 2013-04-18T15:48:23.900 回答