问题标签 [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.
r - 如何强制 R 在回归中使用指定的因子水平作为参考?
如果我在回归中使用二元解释变量,如何告诉 R 使用某个水平作为参考?
它只是默认使用某个级别。
与b {0, 1, 2, 3, 4}
. 假设我想使用 3 而不是 R 使用的零。
r - 将字符串列拆分为几个虚拟变量
作为 R 中 data.table 包的相对缺乏经验的用户,我一直在尝试将一个文本列处理成大量指示符列(虚拟变量),每列中的 1 表示特定的子字符串是在字符串列中找到。例如,我想处理这个:
进入这个:
我已经弄清楚如何进行处理,但是运行时间比我想要的要长,而且我怀疑我的代码效率低下。下面是我的带有虚拟数据的代码的可复制版本。请注意,在实际数据中,要搜索的子字符串超过 2000 个,每个子字符串大约 30 个字符长,可能多达几百万行。如果需要,我可以并行化并在问题上投入大量资源,但我想尽可能优化代码。我曾尝试运行 Rprof,但没有发现(对我而言)明显的改进。
编辑
感谢您的出色回应——所有这些都比我的方法要好得多。下面是一些速度测试的结果,对每个函数稍作修改,在我自己的代码中使用 0L 和 1L,将结果按方法存储在单独的表中,并标准化排序。这些是单次速度测试的经过时间(而不是许多测试的中位数),但较大的运行每次都需要很长时间。
很明显,GeekTrader 方法的修改版本是最好的。我对每个步骤的作用仍然有些模糊,但我可以在闲暇时复习。尽管有点超出了最初的问题,但如果有人想解释 GeekTrader 和 Ricardo Saporta 的方法在哪些方面做得更有效,我以及将来访问此页面的任何人都将不胜感激。我特别有兴趣了解为什么某些方法比其他方法扩展得更好。
*****编辑#2*****
我试图用这个评论编辑 GeekTrader 的答案,但这似乎不起作用。我对 GT3 函数做了两个非常小的修改,a) 对列进行排序,这会增加少量时间,b) 将 0 和 1 替换为 0L 和 1L,这会加快速度。调用生成的函数 GT4。上表已编辑以添加不同表大小的 GT4 时间。显然是一英里的赢家,它具有直观的额外优势。
r - 从互斥虚拟变量创建分类变量
我的问题是关于先前回答的关于将多个虚拟变量组合成单个分类变量的问题的详细说明。
在之前提出的问题中,分类变量是由不互斥的虚拟变量创建的。就我而言,我的虚拟变量是互斥的,因为它们代表 2X2 受试者间因子设计中的交叉实验条件(这也有一个受试者内部组件,我没有在这里讨论),所以我不认为我做interaction
了什么需要做。
例如,我的数据可能如下所示:
我现在想制作组合不同类型条件的分类变量。例如,具有条件 A 和 B 值的人可能被编码为一个分类变量,而具有条件 C 和 D 值的人可能被编码。
现在,我正在使用ifelse()
语句来执行此操作,这简直就是一团糟(而且并不总是有效)。请帮忙!可能有一些非常明显的“更简单的方法”。
编辑:
我使用的命令种类ifelse
如下:
实际上,我每次都会合并 6-8 列,因此更优雅的解决方案会很有帮助。
r - 在 R data.table 中创建虚拟变量
我正在使用 R 中的一个非常大的数据集,并且一直在使用数据框进行操作,并决定切换到 data.tables 以帮助加快操作速度。我无法理解 J 操作,特别是我试图生成虚拟变量,但我不知道如何在 data.tables [] 中编写条件操作。
MWE:
我想要做的是将列添加a
为j
虚拟变量,这样当和否则时列a
就会有一个值。在 data.frame 环境中,它看起来像:1
index == "a"
0
r - R 的 class.ind() 函数有什么作用,我什么时候使用它?
R 文档说nnet::class.ind()
从给定的因素生成一个类指示函数。
它是否将一个因素转换为一些二元分类?
我们何时以及为何使用此功能?请给我一些例子。
任何帮助表示赞赏。谢谢你。
r - 虚拟变量取决于 df$id 列的字符长度
我正在尝试在 r 中创建一个 id 虚拟对象。情况有点棘手。如果 id = 15 的长度,我想设置 id1=1,如果长度 =11,我想设置 0(这是唯一的两种情况)。我尝试了以下代码:
代码可以运行,但是当我查看数据时,我发现生成的所有值都是 1 而不是 0,1。换句话说,我怀疑 ifelse 函数的设置有问题。
我也试过这个:
仍然得到相同的结果。
任何人都可以帮我解决这个问题吗?
数据是这样的:
statistics - 如果Stata中至少有两个虚拟变量== 1,如何生成变量= 1?
如果至少有两个或更多(七个)虚拟变量也== 1,我正在尝试生成一个= 1的虚拟变量。有人能告诉我这样做的有效方法吗?
python - Pandas 优化创建虚拟变量的方法?
我正在根据给定的列和标准创建一个新的虚拟变量。下面是我正在使用的代码。它可以工作,但对于我想做的事情来说太慢了。有没有更快的,也许是矢量化的方式在熊猫中创建假人?具体来说,根据我的例子?
我在 pandas 中查找了 get_dummies 函数,但它似乎做的事情与我在这里做的有点不同。我可能是错的,所以如果有人有办法让 get_dummies 与这个例子一起工作,那也是一个可以接受的答案。
编辑:这里有两个很好的答案。乍一看,它们看起来都一样快(至少达到相同的数量级),所以我只接受了一个。如果有人想做一些更严肃的分析,我很乐意修改我的答案选择。
r - 根据 2 个因素创建虚拟变量并粘贴到新的数据框中
我发送所有数据,以便您自己复制
我有这个 10 x 2 矩阵。NIT 和 Esp 都是因子变量。
每个字母是一个主题,每个数字是一个特定主题的特征。例如:主题 A 具有特征 1 和 2,主题 B 具有特征 1,5, 4,
我想为每个特征 1,2,3,4,5 创建一个虚拟变量。如果 A 具有特征 2,则它产生 1,否则它产生 0。
我试过这个解决方案
到目前为止,这是我所管理的
尽管如此,这是我真正想要的矩阵。
最终的矩阵应该有 6 行 x 5 列,它应该是这样的
r - 添加虚拟变量后使用 Tableau 和 R 进行预测
我能够使用Forecast()
画面中的功能进行预测。我有每日每小时数据(需求电力)。以前我使用以下代码:
上面的代码有效,但它缺少一些虚拟预测器。所以我尝试了以下代码:
此代码不起作用