Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R从特定矩阵元素创建向量_R_Vector_Matrix - Fatal编程技术网

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

R从特定矩阵元素创建向量,r,vector,matrix,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" "in

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

我有点不知道该怎么做,有人能帮我吗?

我认为下面应该做

x <- as.numeric(svars['value', ])
names(x) <- svars['id', ]
x
##  S  I 
## 99  1

我认为下面应该这样做

x <- as.numeric(svars['value', ])
names(x) <- svars['id', ]
x
##  S  I 
## 99  1

我认为下面应该这样做

x <- as.numeric(svars['value', ])
names(x) <- svars['id', ]
x
##  S  I 
## 99  1

我认为下面应该这样做

x <- as.numeric(svars['value', ])
names(x) <- svars['id', ]
x
##  S  I 
## 99  1
例如:

dd <- svars[c("id","value"),]
setNames(dd$V2,dd$V3)
例如:

dd <- svars[c("id","value"),]
setNames(dd$V2,dd$V3)
例如:

dd <- svars[c("id","value"),]
setNames(dd$V2,dd$V3)
例如:

dd <- svars[c("id","value"),]
setNames(dd$V2,dd$V3)

+1.另外
集合名(如.numeric(svars[“value”,])、svars[“id”,])
有效;)@吉尔伯!我犹豫了一下,但最后我编辑了我的答案。@agstudy你的代码做到了,我的代码有点不同:
state=as.vector(t(svars[value,])
if(forceNumeric){
state=as.numeric(state)
name(state)=svars[name,]
+1。另外
setNames(如.numeric(svars[“value”,])、svars[“id”,])
works;)@吉尔伯!我犹豫了一下,但最后我编辑了我的答案。@agstudy你的代码做到了,我的代码有点不同:
state=as.vector(t(svars[value,])
if(forceNumeric){
state=as.numeric(state)
name(state)=svars[name,]
+1。另外
setNames(如.numeric(svars[“value”,])、svars[“id”,])
works;)@吉尔伯!我犹豫了一下,但最后我编辑了我的答案。@agstudy你的代码做到了,我的代码有点不同:
state=as.vector(t(svars[value,])
if(forceNumeric){
state=as.numeric(state)
name(state)=svars[name,]
+1。另外
setNames(如.numeric(svars[“value”,])、svars[“id”,])
works;)@吉尔伯!我犹豫了一下,但最后我编辑了我的答案。@agstudy你的代码做到了,我的代码有点不同:
state=as.vector(t(svars[value,])
if(forceNumeric){
state=as.numeric(state)