1

我一直试图从 R 中的字符串(实际上是 $call)中提取一些东西,这让我抓狂。如果你有:

library(vars)
data <- as.data.frame(matrix(c(runif(40)), ncol=2))
z <- matrix(c(runif(40)), ncol=2)
var.modell <- VAR(data, p = 2, exogen=z, type = "trend")

你如何提取z?我试过谷歌搜索和搜索堆栈溢出。我发现了这个:R 在 R 中提取字符串的一部分

这让我尝试:

sub(".*?exogen=(.*?)", "\\1", var.modell$call, perl = TRUE)

但它返回:

[1] "VAR"   "data"  "2"     "trend" "z"    

我究竟做错了什么?

4

1 回答 1

3

查看call对象本身:

m <- lm(speed~dist,data=cars)
m$call$data
## cars

你会想要var.modell$call$exogen的。

于 2013-02-23T16:10:06.847 回答