问题标签 [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 投票
0 回答
82 浏览

r - 获取 glm() 中所有变量的 Pvalues

我知道这是一个众所周知的经典问题,但尽管我进行了研究,但我未能用我的数据解决这个问题。

我有这样的数据:

我想知道这个 SNP(名为“scaffold10000|size69197_10061”)的三种颜色和四个位点之间是否存在统计差异。我想考虑这些变量(3 种颜色和 4 个站点),这就是我选择glm()函数的原因。

这给了我这些系数:

所以没有出现绿色和 G 站点(因为如果我理解正确,两者都是分类的)。

根据R bloggerStackoverflow中的这些问题,我了解如何在添加-1+ 0公式中删除截距(以使模型更易于理解)。

所以我至少出现了一个分类变量:

为了出现第 4 个站点,我未能对某些内容进行编码

首先,我尝试合并 2 个不同的模型:

以不同的方式但没有工作(并且可能没有意义..)

把其他人-1+ 0都没有工作:

根据这个类似问题的答案(以及这个关于lm(),只需在参数上添加两个总和为零的约束:

或使用这个(我不记得在 Stackoverflow 上的每一步)

并重新运行模型。但这两种可能性也都失败了。

所以我尝试拆分data.frame以便手动将变量放入模型中:

(TRUE 和 FALSE 可以用 . 变为 0 和 1 df2[df2=="FALSE"]<-0

现在,所有变量都在系数中:

但是NA现在出现了。

根据Stackexchange中的这个问题,我检查了模型矩阵是否有满秩,答案是否定的。

因此,如果没有-1,则第一列X是截距,如果有,-1则红色列是重复的(一个代表 TRUE,一个代表 FALSE)。

因此,有 8 列和 6 个等级。通常我应该有 14 列和 14 列不?(7 个变量(3 个颜色和 4 个站点)* 2(真或假))

那么,如何对模型进行编码以强制获取所有变量的 Pvalues ?

任何有关以适当方式进行编程的建议都将不胜感激。

0 投票
0 回答
50 浏览

r - R - 控制模型矩阵中的交互顺序

我想控制设计矩阵中交互虚拟代码的顺序,与主效应虚拟代码的顺序分开。特别是进行交互的术语的循环顺序。

例如:

当写公式为时~X1+X2+X1:X2,交互设计X2循环往复X1

当我将公式中的交互项翻转为 时~X1+X2+X2:X1,交互设计仍然会先循环X2再循环X1

我最终想要的是以下设计矩阵:

谢谢!

0 投票
1 回答
5714 浏览

r - 警告信息 - 来自 dummies 包的 dummy

我正在使用 dummies 包为分类变量生成虚拟变量,其中一些具有两个以上的类别。

对于这两个命令,我得到:

结果似乎是正确的。您能否就警告的原因提出建议?

0 投票
0 回答
122 浏览

r - R 和包更新后 MCMClogit / model.matrix.default 中出现无法解释的警告消息

将 R 更新到 3.6 版并更新包MCMCpack后,我收到一条无法修复的警告消息MCMClogit

到底是怎么回事?

0 投票
1 回答
41 浏览

r - 使用 model.matrix 编码错误的西里尔字母

我有一个数据框,其中包含需要使用 model.matrix 转换的列名和值中的西里尔文(俄语)字母。

model.matrix 将这些变量转换为 unicode 字符,例如 . 有没有办法将它们转换回来,或者首先避免转换?

预期的结果是一个 model.matrix,其中包含应有的 UTF-8 字符。

0 投票
2 回答
126 浏览

r - 在 model.matrix 之后从列名中删除空格

我给你写信是因为我需要删除矩阵列名中间的空格。我在 R 工作。

在我的代码中,我刚刚运行了一个 model.matrix 命令。它为每个因子添加一列,因此,如果因子名称中有一些空格,则将其移动到列名称中。

我想删除它们。

下面是一个例子

我想得到如下的列名:

太感谢了

0 投票
1 回答
463 浏览

r - model.matrix 如何为交互项选择级别

model.matrix如果交互项中包含低阶项,则返回更少的级别。如果双因素变量分别具有 na 和 nb 水平。在具有交互项的完整模型矩阵中,

model.matrix(~ A + B + A:B),我不应该有 (na-1) + (nb-1) + (na*nb-1) 吗?

在以下示例中,两者都a具有b三个级别。它们总共有九个级别。

对于只有交互项的模型矩阵,它具有所有九个级别。

但是,对于只有一个低阶项的 model.matrix,它也会降低其他变量的水平。在这种情况下,b 没有 b = 4 的项。

这相当于完​​整的model.matrix。

我读到它与对比度有关,但是,对比度不会在交互项上独立运行吗?另外,如果我想知道 a4:b4 与 a3:b4 的系数,我该怎么做?

0 投票
0 回答
129 浏览

r - 创建一个设计矩阵,其中包含训练集而不是测试集的级别

我想使用训练集中的变量名从测试集中创建一个设计矩阵。

例如,如果我的训练集是

我的测试数据是

它只有 2012 年作为时间级别,那么我希望在我的测试数据的设计矩阵中为训练数据中的级别提供列,其中零表示它们不存在。model.matrix 不允许我这样做。

此外,model.matrix 不会让我将一列一列作为一个级别的因子,2012。但是我仍然希望在测试集的设计矩阵中使用这个以及其他零列。先感谢您。

0 投票
0 回答
138 浏览

r - 为什么 predict.lm 和矩阵乘法给出不同的预测?

我一直在用 lm() 在 R 中拟合一个模型,并使用矩阵乘法“手动”进行预测。

当根据使用 predict.lm() 所做的预测检查结果时,我注意到结果有所不同,但只有当我对新数据集(即未训练模型的数据集)我应用的数据集进行预测时预测变量的多项式(或样条)。

谁能解释为什么会这样?我认为无论我使用的是新数据集还是多项式,这两种方法都会给出相同的答案。

下面的可重现示例。

0 投票
1 回答
1594 浏览

r - R模型矩阵中的“~0”是什么意思

我正在尝试理解 R 中的模型矩阵(model.matrix),将分类变量转换为虚拟变量并遇到以下代码

有人可以帮我理解这里的“~0”是什么意思吗?代码试图做什么?