我正在使用R来读取一些XML并将其转换为deSolve
库可以使用的内容。我正在尝试转换这个矩阵:
svars = xpathSApply(doc, "/models/model[@name='SIS']/state_variables/variable")
svars = sapply(svars, xmlAttrs)
svars
[,1] [,2]
id "S" "I"
name "susceptible" "infected"
value "99" "1"
到一个看起来像这样的矢量:
svars = c(S = 99, I = 1)
我对如何做到这一点有点不知所措,有人可以帮忙吗?
答案 0 :(得分:2)
例如:
dd <- svars[c("id","value"),]
setNames(dd$V2,dd$V3)
或者一个线性:
setNames(as.numeric(svars["value", ]), svars["id",])
答案 1 :(得分:1)
我认为以下应该做
x <- as.numeric(svars['value', ])
names(x) <- svars['id', ]
x
## S I
## 99 1
与
相同c(S = 99, I = 1)
## S I
## 99 1