小编Joh*_*one的帖子

在 R 中生成随机排列

我尝试使用Simulation (2006, 4ed., Elsevier)Sheldon M. Ross 的 R 实现一个示例,它想要生成随机排列,内容如下:

  • 假设我们有兴趣生成数字 1,2,... ,n 的排列

  • 这就是所有 n! 可能的排序是同样可能的。

  • 以下算法将通过以下方式完成此任务

    • 首先随机选择数字 1,2,...,n 之一;
    • 然后将该数字放入位置 n;
    • 然后它随机选择剩余的 n-1 个数字之一并将该数字放在位置 n-1 ;
    • 然后它随机选择剩余的 n-2 个数字之一并将其放在位置 n-2 ;
    • 等等

当然,我们可以通过以下方式轻松实现数字 1,2,...,n 的随机排列

sample(1:n, replace=FALSE)
Run Code Online (Sandbox Code Playgroud)

例如

> set.seed(0); sample(1:5, replace=FALSE)
[1] 1 4 3 5 2
Run Code Online (Sandbox Code Playgroud)

但是,我想根据上述算法步骤手动得到类似的结果。然后我尝试

## write the function
my_perm = function(n){ 
x = 1:n # initialize
k = n  #  position n
out = NULL
while(k>0){
  y = sample(x, size=1) # choose …
Run Code Online (Sandbox Code Playgroud)

algorithm r permutation

5
推荐指数
2
解决办法
2564
查看次数

Matlab和R左除法不同

我有一个矩阵A和一个列向量,b如下所示:

  • A
0.4585 0.9135 1.1685  1.4235  1.6785  1.9335  2.1885  2.4435  2.6985  2.9535  3.2085  3.4635  3.7185  3.9735  4.2285  4.4835   4.7385  4.9935   
0.9135 1.0685 1.6235  1.9785  2.3335  2.6885  3.0435  3.3985  3.7535  4.1085  4.4635  4.8185  5.1735  5.5285  5.8835  6.2385   6.5935  6.9485
1.1685 1.6235 1.8785  2.5335  2.9885  3.4435  3.8985  4.3535  4.8085  5.2635  5.7185  6.1735  6.6285  7.0835  7.5385  7.9935   8.4485  8.9035
1.4235 1.9785 2.5335  2.8885  3.6435  4.1985  4.7535  5.3085  5.8635  6.4185  6.9735  7.5285  8.0835  8.6385  9.1935  9.7485  10.3035 10.8585
1.6785 2.3335 …
Run Code Online (Sandbox Code Playgroud)

matlab r

1
推荐指数
1
解决办法
58
查看次数

R 中的 lag.plot 与 Stata 中的一样

我想绘制残差及其一阶滞后的散点图,即绘制 $(e_{t-1},e_{t})$ ,以及在Stata中添加最小二乘线。我的小演示来自Example 2.3 The U.S. Gasoline Market计量经济学分析》(7e,William H. Greene),其中显示

use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)  
generate y=ln(income/pop)  
generate pg=ln(gasp)       
generate pnew=ln(pnc)      
generate pused=ln(puc) 
tsset year     
regress g y pg pnew pused
predict e, residual
twoway scatter e l.e || lfit e l.e
Run Code Online (Sandbox Code Playgroud)

其中l.e表示残差 上的(一阶)滞后算子e,相关数字由下式给出

在此输入图像描述

我想用R重现该图,我尝试

use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)  
generate y=ln(income/pop)  
generate pg=ln(gasp)       
generate pnew=ln(pnc)      
generate pused=ln(puc) 
tsset year     
regress g y pg pnew pused
predict …
Run Code Online (Sandbox Code Playgroud)

r stata

0
推荐指数
1
解决办法
52
查看次数

标签 统计

r ×3

algorithm ×1

matlab ×1

permutation ×1

stata ×1