在Octave中创建分类变量(实现dummyvar)

时间:2012-09-18 18:51:13

标签: matlab octave

所以在我希望传递给八度音阶函数的数据文件中,我有一个分类字段,如下所示:

group =

msie-7
msie-8
msie-7
msie-8
msie-9
firefox-15
chrome-21
chrome-21
firefox-15
msie-7
msie-8
msie-9
..

我想把它变成一系列虚拟变量(类似于R中的因子函数)。但出于某种原因,我安装的Octave无法识别dummyvars函数。

octave-3.2.4.exe:16> dummyvars(group)
error: `dummyvars' undefined near line 16 column 1
octave-3.2.4.exe:16> dummyvar(group)
error: `dummyvar' undefined near line 16 column 1
  1. 知道为什么会这样吗?
  2. 我将如何编写一个函数来解决这个问题?我有八度的函数设计用于正则化逻辑回归分析,但是这种无法处理分类变量是一个很大的挫折。

2 个答案:

答案 0 :(得分:1)

我使用 cat2bin 解决了这个问题。此功能可在Octave-Forge的'nan'包中找到。

要安装软件包,请使用 pkg install -forge nan 。 安装完成后,使用 pkg load nan 加载包。

希望这有帮助

答案 1 :(得分:0)

dummyvar来自Matlab统计工具箱。

要了解如何实现类似的东西,请搜索“指标矩阵”。例如:Creating Indicator Matrix