问题标签 [model.matrix]

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 投票
2 回答
6607 浏览

r - 加快此循环以使用 data.table 创建虚拟列并在 R 中设置

我有一个数据表,我想为每个唯一的日期创建一个新列,然后在日期与列名匹配的每一行中分配一个 1

我已经使用 for 循环完成了这项工作,但我想知道是否有任何方法可以使用 data.table 和 set 对其进行优化?

这是一个例子

我的表是 298k 行,虽然执行时间不长(如下),但它是长脚本的一部分,而且我有很多低效的循环,所以我试图降低整体运行时间。

运行时间:

提前致谢。

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 投票
3 回答
22232 浏览

r - model.frame.default(object, data, xlev = xlev) 中的错误:对象不是矩阵

R 3 天大,无法弄清楚我做错了什么。我正在尝试将一些具有两种交互方式的列发送到 glmnet cox 模型中。我有一些名为 dtable 的 data.frame()

编辑以使代码可重现

当我运行它时,我得到了错误

提前致谢

0 投票
0 回答
1230 浏览

r - R:用于 cv.glmnet 的 model.matrix 从数据框中删除行

我在使用 cv.glmnet 创建用于运行岭回归和套索回归的解释变量矩阵时遇到问题。

我的原始数据框尺寸为 1460*81,由几个数字和因子变量组成。为了运行 glmnet,我尝试使用model.matrix创建一个预测变量矩阵。

但是,在我的原始数据集上创建 model.matrix 时,一些行被删除并且我的响应变量和预测变量的长度不同。

这是代码:

现在我将数据框传递给 model.matrix 以创建一个矩阵。

请注意,n = 1460 * 80 如何转换为 1370 * 260。当我尝试运行岭回归时,这会导致我的预测变量和响应变量的长度不匹配。

关于在哪里寻找以确保矩阵 (x) 的长度等于 (y) 的任何想法?

0 投票
1 回答
805 浏览

r - 为 model.matrix 中的部分因子设置对比

我有一个实验设计,我想拟合一个线性回归模型。

这是设计data.frame

design.df$species并且design.df$sex都是factors

的对比编码design.df$species应该是contr.treatment,而design.df$sex应该是的contr.sum

将其设置为model.matrix我认为这可能可行:

显然,根据我得到的错误它不起作用:

所以我的问题是我如何根据我指定的model.matrix来获取design.dfcontrasts.list

0 投票
1 回答
479 浏览

r - 分类变量的多个值, GLM, model.matrix

我有一个看起来像这样的数据

我想为因变量运行 glm"response"

如您所见,ID 不是唯一的,这是因为每个 ID 可以为 "var4" 取多个值,

为此,我尝试了,model.matrix但它没有保留 ID,因此很难检查结果,我相信有一种简单的方法可以做到这一点,有人可以帮忙吗?

生成您可以使用的上述数据

0 投票
1 回答
166 浏览

r - 从字符串向量到 R 中的模型矩阵

我有一个包含 16163 个字符串的向量,如下所示:

句子有随机单词和随机长度。

从那个向量,我想得到一个虚拟变量矩阵。每列代表一个单词。如果单词在句子中,则显示 1,否则显示 0。

矩阵的第一行如下所示:

我在名为 Universe 的句子向量中做了一个唯一单词列表,并尝试使用以下代码创建一个 df:

然后我尝试用嵌套循环填充矩阵,但它需要太长时间。

0 投票
3 回答
108 浏览

r - 如何从两个具有共同值的列表中创建一个虚拟矩阵?

在 R 中,我有多个非常大(大约 140e6)的 IP 地址列表。多个列表之间有很多重叠的IP。我想创建一个数据框或数据表,其中包含 ip 地址作为行名(不重复),列表名称作为列,0 或 1 表示该列表中是否存在 ip。

例如,我们有以下两个列表,两者之间有一些 % 交集。

我想要的是这样的:

我尝试过使用 reshape2、tidyr、model.matrix、intersect 和 good ol' for 循环。我发现了一些人们从数据帧创建虚拟矩阵的例子,但不是将向量名称作为列,将值作为行名,而不是重复。

0 投票
1 回答
304 浏览

r - 不要从 model.matrix 中删除完全共线的变量

我知道我可以像这样构建一个模型矩阵:

这给了

请注意,因子水平之一被删除,因为如果包含它,设计矩阵将是秩不足的。但是,在我想估计的模型中,这实际上很好,我想保留第四列。有什么办法不model.matrix让它掉下来吗?

0 投票
1 回答
55 浏览

r - 预测 R 的 model.matrix 中有多少列

有没有一种方法可以使用公式预测 model.matrix 中有多少列,而无需实例化 model.matrix?

我正在尝试优化构建sparse.model.matrix的代码:

在此函数中,构造稀疏 mm 的内存分配效率低下。因为它不知道最终矩阵中会有多少列,所以它不能为一个大矩阵进行 1 次内存分配。相反,它将循环遍历公式中的项,并分配许多较小的矩阵。在 for 循环的每次迭代中,它还会将矩阵 cbind 在一起以增长大输出矩阵,这会产生如此多的内存分配,并且对于大数据来说真的很慢。

如果有办法计算最终结果需要多少列,我们可以预先分配矩阵并使 sparse.model.matrix 更有效率。

对我的挑战是我不知道如何计算交互项需要多少列,特别是如果存在 a:b:c 形式的交互。另外,我没有对比的经验,所以不知道这如何影响所需的列数