R从特定矩阵元素创建矢量

时间:2013-11-26 11:08:27

标签: r vector matrix

我正在使用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)

我对如何做到这一点有点不知所措,有人可以帮忙吗?

2 个答案:

答案 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