问题标签 [dummy-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1057 浏览

r - 从我的数据框中创建一个虚拟变量矩阵;对缺失值使用“NA”

我有一个基于不同年份的数据,重复了几次。我希望我的输出具有等于年数的列,每列一年。现在,目的是分别为每一年创建虚拟对象。例如,只要在与 2000 年平行的主数据中存在非 NA 观测值,2000 年的输出列必须具有值“1”,否则为“0”。此外,NA 必须保持 NA。请参阅下面的输入数据小样本:

现在输出应该是:

如果可能的话,我宁愿通过使用“for 循环”来获得这个输出。否则,将不胜感激任何更简单的方法。

0 投票
3 回答
9702 浏览

python - Pandas sklearn one-hot 编码数据帧或 numpy?

如何将 pandas 数据帧转换为 sklearn one-hot-encoded(数据帧/numpy 数组),其中某些列不需要编码?

是一个已经标签编码的数据框,我只想对标记的列进行编码columnsToEncode

我的问题是我不确定 apd.Dataframenumpy数组表示是否更好,以及如何将编码部分与另一个重新合并。

到目前为止我的尝试:

注意:我知道Pandas: Get Dummies / http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html但这在我需要这样的训练/测试分裂中表现不佳每折叠一个编码。

0 投票
1 回答
35 浏览

r - 如何在 r 中的 df 中找到其虚拟变量从 1 变为 0(反之亦然)的观察值

我有一个由 n 个人组成的调查;每个人在调查中出现一次以上(小组)。我有一个可变笔,如果个人投资于补充养老金形式,它是一个价值 1 的虚拟笔。例如:

其中 id 是个人,yb 是出生年份,pens 是关于补充养老金的虚拟变量。

我想知道是否有个人在 t 年投资了补充养老金,但在 t+2 年没有持有补充养老金(调查每两年进行一次)。通过这种方式,我想知道有多少人拥有补充养老金表格但在养老金之前释放或放弃(例如出于经济原因)。

我试过这个命令:

实际上,我有一些人的 pen 变量在一段时间内发生了变化(该命令检查变量是否及时保持不变)。出于这个原因,我发现个人的笔变量从 t 年的 0(没有补充养老金)变为 t+2 年的 1,反之亦然;但我对第 t 年笔变量为 1(有补充养老金)和 t+2 年为 0 的个人感兴趣。

如果我将此命令与 df 一起使用,我会得到 id 1 和 2 的变量 x 为 0(pen 变量不是常量),但我需要找到一种方法来获取 id 2(其 pen 变量从1比0)。

(为了简洁起见,我省略了其他变量)

所以想要的输出是:

只有 id 2 具有 x=0,因为 pen 变量从 1 变为 0。

提前致谢

0 投票
1 回答
42 浏览

r - 为 R 中的非排除类别创建虚拟变量

我想创建类别的二进制表示。我知道如何排除类别(使用 caret 包),但不是一种直接的方法来排除非排除类别。例如

movies <- data.table(movie=c( "batman", "bighero6"), type=list("action",c("action","animation"))) movie type 1: batman action 2: bighero6 action,animation

我想获得类似的东西 action animation batman 1 0 bighero6 1 1

0 投票
1 回答
1099 浏览

r - R:将虚拟变量列添加到 xts 时间序列对象

我有一个由 2015 年的日内交易数据组成的 xts 时间序列对象。我想添加一个虚拟变量,将 1 表示为事件日或将 0 表示为非事件日。

由于虚拟变量本质上不是时间序列,我是否可以将其添加到我的交易数据中?

我应该如何构建虚拟列?

如何将其添加到现有的 xts 中?

R新手,所以请在你的回答中尽可能具体。谢谢!

0 投票
1 回答
140 浏览

stata - 在Stata中编码二分变量

我有一组公司规模的二分变量:emp1_2(即拥有 1 或 2 名雇员的公司,包括所有者)、emp3_9、emp10_19、emp20_49、emp50_99、emp100_249、emp250_499、emp500,另外我没有关于 27 家公司的信息规模,但我有根据地猜测它们是大公司。

我想为作为“小公司”的公司创建一个二分变量;因此,该变量在等于 1 时emp1_2==1 | emp3_9==1 | emp10_19==1等于 1,否则为 0。

根据我对Stata的理解,我是一个裸用户,以下两种构造二分变量的方法应该是等价的。

方法1)

方法2)

相反,我发现使用方法 2) lar_firm 等于 1 对于 emp1_2 | 的公司。emp3_9 | emp10_19 和未进入任何类别的公司(即 emp1_2、emp3_9、emp10_19、emp20_49、emp50_99、emp100_249、emp250_499、emp500),但我有根据地猜测它们是大公司。

我想知道这两种方法之间是否有一些细微的区别。我虽然他们应该导致平等的结果。

0 投票
1 回答
4072 浏览

python - 如何将虚拟列连接到主表?

我正在尝试为分类变量创建虚拟变量。但是,当我创建它们时,我得到“ValueError:列重叠但没有指定后缀”。这是代码:

0 投票
1 回答
112 浏览

r - 更改虚拟变量中的默认二进制标签

我使用model.matrix()方法R来生成虚拟变量:

我们需要设置什么参数而不是 0 和 1 输出标签,model.matrix()以便输出标签为 -1 和 1?

0 投票
1 回答
229 浏览

r - 麻烦将数据框转换为 r 中的设计矩阵

几天前我开始使用 R 并且真的可以使用一些帮助:D 我目前有一个包含 200 个观察值和 12 个变量的 data.frame(它们代表点击,因此它们被命名为 c1-c12)。

背景: 用户单击(最多 12 次)字段。这些字段按 6 行 4 列排序,用户的点击记录为数字:

每个值的第一位代表行,第二位代表列。这就是为什么它们被命名为 11-16、21-26 ... 41-46。值范围为 c(11:16, 21:26, 31:36, 41:46),因此有 24 个可能的值。

我能够将数据读入 R,前 10 个观察结果如下所示:

我的数据:

我想将我的数据转换为某种设计矩阵,该矩阵基于背景中给出的位置表,但是:作为所需的输出,我每次观察需要一个矩阵,再次包含 6 行和 4 列以及单击时的 1字段(即位置的值是观察的一部分)和所有其他位置的 0。第一个观察结果将如下所示:

你能给我提示哪些包裹等。我应该研究一下,也许有一些提示作为指导或类似的东西?

我的想法是为位置创建一个矩阵,然后将它们与观察结果相乘,但我目前真的很挣扎,不知道从哪里开始。

我在 R 中的位置矩阵现在看起来像这样:

(背景提供)

**可能有一种更简单、更聪明的解决方案,因为我的值包含 rownumber(第一位)和 columnnr(第二位),但我不知道如何按位置将它们写入矩阵 **

干杯和感谢, Sidebob

0 投票
1 回答
20017 浏览

python - 处理标签编码的未知值

如何处理 sk-learn 中标签编码的未知值?标签编码器只会在检测到新标签的情况下爆炸。

我想要的是通过one-hot -encoder对分类变量进行编码。但是,sk-learn 不支持字符串。所以我在每一列上都使用了一个标签编码器。

我的问题是在管道的交叉验证步骤中出现了未知标签。基本的 one-hot-encoder 可以选择忽略这种情况。先验pandas.getDummies /cat.codes是不够的,因为管道应该与现实生活中的新传入数据一起工作,这些数据也可能包含未知标签。

是否可以CountVectorizer为此目的使用 a ?