Arrays 随机变量模拟

Arrays 随机变量模拟,arrays,random,sas,montecarlo,Arrays,Random,Sas,Montecarlo,表1有Col1和Col2 表2将Col1与Col3区分开来,并生成随机变量Col4 模拟函数Col2*2+Col4,其中Col4基于表1.Col1=表2.Col3 Col4对于每个试验都是不同的 我真的不知道怎么做,但尝试了下面的方法。任何帮助都将不胜感激 代码: 首先,让它为单个迭代工作,忘记了多个迭代。这里有一种方法可以在一次迭代中实现 proc sort data=table1; by col1; proc sort data=table2; by col3; data want; me

  • 表1有Col1和Col2
  • 表2将Col1与Col3区分开来,并生成随机变量Col4
  • 模拟函数Col2*2+Col4,其中Col4基于表1.Col1=表2.Col3
  • Col4对于每个试验都是不同的
  • 我真的不知道怎么做,但尝试了下面的方法。任何帮助都将不胜感激
  • 代码:


    首先,让它为单个迭代工作,忘记了多个迭代。这里有一种方法可以在一次迭代中实现

    proc sort data=table1; by col1;
    proc sort data=table2; by col3;
    
    data want;
    merge table1 table2(rename =(col3=col1));
    by col1;
    
    value = col4+ col2*2;
    run;
    
    然后你就知道如何循环了。您可以使用多个宏调用(通常是R/Python方式(多个函数/api调用))或@Joe链接到上面的BY group方式来实现这一点。首先,你必须让你的基本情况工作


    未测试,因为我不会键入您的数据,请以后以文本而不是图像的形式提供数据。

    请先发布您尝试过的内容,我们可以帮助回答问题显示我是否正确发布代码?我建议你阅读这篇关于堆栈溢出标记编辑的文章:我强烈建议你阅读这篇文章,如果这篇文章不能回答你的问题,你可以回来找我们。合并数据,使它们位于同一个表中。2.然后再试试你的计算。这只是一天结束时的查找问题。
    proc sort data=table1; by col1;
    proc sort data=table2; by col3;
    
    data want;
    merge table1 table2(rename =(col3=col1));
    by col1;
    
    value = col4+ col2*2;
    run;