在R中,我们可以运行时间序列的ACF相关图,并且置信区间带将以浅蓝色绘制.但是当我拉动ACF对象的结构时,我找不到这些值.有谁知道如何提取置信区间带的值?
例如
List of 6
$ acf : num [1:27, 1, 1] 1 0.06453 -0.06354 0.00213 -0.01324 ...
$ type : chr "correlation"
$ n.used: int 501
$ lag : num [1:27, 1, 1] 0 1 2 3 4 5 6 7 8 9 ...
$ series: chr "tser[i:(i + 500)]"
$ snames: NULL
- attr(*, "class")= chr "acf"
Run Code Online (Sandbox Code Playgroud)

假设我们有一个数据帧或矩阵,其中一列指定如下的整数值N(第5列).是否有一种向量方法来重新填充对象,使每行被复制N次?
> y
[,1] [,2] [,3] [,4] [,5]
[1,] -0.02738267 0.5170621 -0.01644855 0.48830663 1
[2,] -0.30076544 1.8136359 0.02319640 -1.59649330 2
[3,] 1.73447245 0.4043638 -0.29112385 -0.25102988 3
[4,] 0.01025271 -0.4908636 0.80857300 0.08137033 4
Run Code Online (Sandbox Code Playgroud)
结果如下.
[1,] -0.02738267 0.5170621 -0.01644855 0.48830663 1
[2,] -0.30076544 1.8136359 0.02319640 -1.59649330 2
[2,] -0.30076544 1.8136359 0.02319640 -1.59649330 2
[3,] 1.73447245 0.4043638 -0.29112385 -0.25102988 3
[3,] 1.73447245 0.4043638 -0.29112385 -0.25102988 3
[3,] 1.73447245 0.4043638 -0.29112385 -0.25102988 3
[4,] 0.01025271 -0.4908636 0.80857300 0.08137033 4
[4,] 0.01025271 -0.4908636 0.80857300 0.08137033 …Run Code Online (Sandbox Code Playgroud) 优化函数仅用于处理我理解的一个函数参数.但有时函数可能依赖于变量和参数的不同输入范围.
例如:
x.r<-rnorm(100)
y<-function(x,p) -x^2+p*1/exp(x^3)
optimize(y,upper=range(x.r)[2],lower=range(x.r)[1])
Run Code Online (Sandbox Code Playgroud)
xr传递给y的域可以从样本变为样本.而不是使用泛型x,我希望能够从许多xr值的域中绘制来运行y.有没有办法修改优化函数,以便我可以传递y,函数和x它的域变量以及优化参数p?
有了上面我得到一个错误:
> optimize(y,upper=range(x.r)[2],lower=range(x.r)[1])
Error in p * 1 : 'p' is missing
Run Code Online (Sandbox Code Playgroud)
编辑:以下建议(这是有道理的......但是)我试过了.
x.r<-rnorm(100)
p<-seq(-5,5,1)
y<-function(x,p) -x^2+p*1/exp(x^3)
optimize(y,upper=range(x.r)[2],lower=range(x.r)[1],p)
Run Code Online (Sandbox Code Playgroud)
结果是:p*1出错:缺少'p'
也,
> optimize(y,upper=range(x.r)[2],lower=range(x.r)[1],p,x.r)
Error in optimize(y, upper = range(x.r)[2], lower = range(x.r)[1], p, :
invalid function value in 'optimize'
Run Code Online (Sandbox Code Playgroud)
还有其他想法吗?
编辑2:下面的评论循环可以工作,但似乎是一个奇怪的方法来接近它.我不确定它是否也将xr域考虑在内.
x.r<-rnorm(100)
p<-seq(-5,5,1)
y<-function(p=p,x=x.r) -x^2+p*1/exp(x^3)
for(v in p){
print(optimize(y,upper=range(p)[2],lower=range(p)[1],p=v))}
> for(v in p){
+ print(optimize(y,upper=range(p)[2],lower=range(p)[1],p=v))}
$minimum
[1] -4.999944
$objective
[1] -9.637547e+54
$minimum
[1] -4.999944
$objective
...
Run Code Online (Sandbox Code Playgroud) 我有一个矩阵(m.idx)包含我想索引的矢量的位置元素.
> m.idx
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 3 4 5 6 7
[3,] 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
假设x是我的向量.
x <- c(9,3,2,5,3,2,4,8,9)
Run Code Online (Sandbox Code Playgroud)
我想用相应的位置元素重新填充矩阵索引x.
所以我会......
> m.pop
[,1] [,2] [,3] [,4] [,5]
[1,] 9 3 2 5 3
[2,] 2 5 3 2 4
[3,] 3 2 4 8 9
Run Code Online (Sandbox Code Playgroud)
我可以用以下方式以一种笨拙的方式做到这一点.
> m.pop <- t(matrix(t(matrix(x[c(t(m.idx))])),ncol(m.idx),nrow(m.idx)))
> m.pop
[,1] [,2] [,3] [,4] [,5]
[1,] 9 3 2 5 3
[2,] 2 5 …Run Code Online (Sandbox Code Playgroud) 这似乎应该是非常简单的应用函数,但我发现自己正在努力.
我有一个矩阵(数据帧也可以)数据:
u <- matrix(sample(seq(4),20,T),5,4)
u
[,1] [,2] [,3] [,4]
[1,] 1 2 4 2
[2,] 4 3 2 2
[3,] 3 3 3 1
[4,] 3 2 4 4
[5,] 4 1 3 4
Run Code Online (Sandbox Code Playgroud)
假设我只想使用第j列中的元素(如excel中的indirect)来从每一行中选择相应的列值.
例如,给定col(j)= 3
第1行将得到对应于row = 1的元素,col(j = 3)= 4并返回2(row(1):col(4))
第2行将得到对应于row = 2的元素,col(j = 3)= 2并返回3(row(2):col(2))
...
第5行将获得对应于row = 5,col(j = 3)= 3并返回3(第(5)行,col(3))的元素
我最终得到了这些值的向量v <-c(4,2,... 3)