在SPSS中重新编码宏参数

时间:2017-10-24 14:38:43

标签: macros spss

我是SPSS的新手。我正在尝试编写一个宏,其中“time”将作为参数传递。我想将它重新编码为另一个宏变量“t2”。我可以通过以下方式完成:

public function sitemapAction()
{
    $this->log(Logger::WARN, "ConsoleController Was Run");

    $request = $this->getRequest();
    if (!$request instanceof ConsoleRequest){
        throw new \RuntimeException('You can only use this action from a console!');
    }

    $event = $this->getEvent();
    $http = $this->getServiceLocator()->get('HttpRouter');
    $event->setRouter($http);

    $viewHelperManager = $this->getServiceLocator()->get('ViewHelperManager');

    $nav = $viewHelperManager->get('navigation');

    $viewModel = new ViewModel();
    $viewModel->setTerminal(true);

    return $nav('sitemap')->sitemap();

}

问题是我有这么多间隔。只是想知道是否有任何一行代码将宏变量重新编码为另一个宏变量?

1 个答案:

答案 0 :(得分:0)

我认为可视化分箱(RECODE)可以更好地工作,而不是使用宏。鉴于您的时间变量是数字。

*Create the macro for binning.
define group (!positional !cmdend).
  !do !var !in (!1)
    recode !var (lo thru 2.5=1) (2.5 thru 3.5=2) (3.5 thru hi=3) .
    value !var 1 '2-<2.5' 2 '2.5-<3.5' 3 '>=3.5'.
  exec.
 !doend
!enddefine.

group time time2 time3.  /*Conduct the binning.
list  time time2 time3.

我认为如果你的时间变量是数字,那应该可行。

您也可以使用DO REPEAT方法。