我是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();
}
问题是我有这么多间隔。只是想知道是否有任何一行代码将宏变量重新编码为另一个宏变量?
答案 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方法。