问题标签 [categorical-data]

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 回答
3734 浏览

r - R - 绘图 - 分类变量 - 需要有限的“xlim”值

我对 R 相当陌生,但试图边做边学

我正在尝试根据连续变量(销售额)绘制分类(渠道)。

这是我的数据

这是我用来生成图表的代码

但是我收到一个错误

和一些警告

我究竟做错了什么?我该如何解决?

在此先感谢您的帮助

更新 #1 我已将绘图代码更新为

这现在有效。

0 投票
2 回答
1411 浏览

sas - PROC GLM 中具有两个以上级别的 CLASS 变量的 CONTRAST

背景:当我们测试一个已经编码为虚拟变量的分类变量的显着性时,我们需要同时测试所有虚拟变量为0。例如,如果X取0、1、2、3和4的值,I适合 1-4 级的虚拟变量(假设我希望 0 作为基线),然后想要同时测试 B1=B2=B3=B4=0。

如果这是我的数据集中唯一的变量,我可以使用整体F统计量来实现这一点。但是,如果我有其他协变量,则整体F检验不起作用。

例如,在 Stata 中,这(非常非常)简单地由以下testparm命令执行:( testparm i.x在拟合所需的回归模型之后),其中i.前缀告诉 Stata X是要视为虚拟变量的分类数据。

问题/问题:我想知道如何在 SAS 中使用CONTRAST(或ESTIMATE?)语句来执行此操作,同时使用回归模型拟合PROC GLM.由于我已经搜索了互联网并且没有找到我正在寻找的东西,我猜我错过了一些非常明显的东西。但是,我看到的所有示例都不是针对分类 ( class) 变量,而是针对两个单独的(例如连续的)变量。在这种情况下,对比语句将简单地类似于

CONTRAST 'Contrast1' y 1 z 1;

否则,它们用于计算 H_0 之类的假设:B1-B2=0。

我觉得我需要将假设分解成更小的部分,并确定定义整个关系的集合,但我没有正确地做到这一点。比如对于B1=B2=B3=B4=0,我想我可能会说B1=B2=B3=-B4,然后定义(1)B1=-B4,(2)B2=-B4和(3)B2 =B3。我试图将其编码为CONTRAST语句(例如X在数据集中按降序排列:4-0):

我知道这是不正确的,我尝试了很多很多变体以及我能想出的任何随机逻辑。我的问题是我有相对新手级别的知识CONTRAST(不幸的是还没有找到很好的文档来帮助解决这个问题)以及这个假设检验应该如何为了估计而真正制定(我是否尝试将它分成几部分?就像我上面做的那样,或者......?)。

0 投票
1 回答
702 浏览

testing - SAS CONTRAST:PROC GLM 中参数估计线性组合的“加权”

背景:我有一个分类变量X,有四个级别,我适合作为单独的虚拟变量。因此,共有三个虚拟变量表示 x=1、x=2、x=3(x=0 是基线)。

问题/问题:我想测试模型参数线性组合的重要性,例如:2*B1+2*B2+B3=0。

在 Stata 中,第一个问题可以在使用以下方法拟合模型后轻松完成:

test 2*B1 + 2*B2 + B3 = 0

现在,如果我想在 SAS 中PROC GLM使用CONTRAST语句执行此操作,我知道我的“权重”(因为没有更好的术语)总和必须为 0。例如,如果在一个不相关的示例中,我想测试以下内容对于四个连续变量:C1 + C2 = C3 + C4,我的对比语句如下所示:

CONTRAST 'Contrast1' C1 0.5 C2 0.5 C3 -0.5 C4 -0.5

在这种情况下,每个变量应该如何加权是很明显的。但是,当我想将上面模型中给出的系数 (2*B1 + 2*B2 + B3 = 0) 与这些权重相结合时,我不清楚如何在CONTRAST语句中对函数进行加权,特别是对于一个假人变量编码的分类变量,如问题最初所述。

0 投票
3 回答
1533 浏览

sas - 使用 PROC GLM “自动”计算参数估计的线性组合

背景:我有一个分类变量X,有四个级别,我适合作为单独的虚拟变量。因此,共有三个虚拟变量表示 x=1、x=2、x=3(x=0 是基线)。

问题/问题:我希望能够计算这些虚拟变量的线性组合(即使用 SAS 作为计算器)的值。例如,2*B1 + 2*B2 + B3。

在 Stata 中,这可以使用lincom命令来完成,该命令使用存储的 beta 估计值来计算参数的线性组合。

在诸如 PROC GLM 之类的过程中的 SAS 中,我认为我应该使用该ESTIMATE语句,但我不确定在这种情况下如何为每个变量指定“权重”。

0 投票
1 回答
1646 浏览

r - R:并非所有分类变量级别都显示在我的 GLM 模型的摘要输出中

我有一个名为体验的变量,它被编码为数字并包含 3 个值(1、5、10)。我将课程更改为使用因素df$experience<-factor(df$experience),然后将其更改为因素。接下来我运行一个 GLM 模型

但是当我得到时summary(reg),表中只显示了一个级别的经验变量(即experience10)。不应该还有另一个分类变量experience5吗?

0 投票
2 回答
2402 浏览

r - 如何识别是否有任何分类变量应该编码为data.frame中的因素?

我有以下data.frame。如何识别是否有任何分类变量应编码为 data.frame 中的因素?

这是一个正确的答案吗?

是的!factor(beef$PBE) 有 14 个级别,factor(beef$PPO) 有 16 个级别,factor(beef$CFO) 有 15 个级别,其余的不能编码为因子,因为它们有完整的 17 个级别。

0 投票
2 回答
1499 浏览

r - 删除具有大量因子的分类变量

我有一个data包含 66 个变量和大约 200,000 个观察值的数据集。数据结构的快照如下所示:

数据中有大量的分类变量。我想排除级别大于数字n的分类变量。这不仅是为了减少计算时间,也是为了确保某些机器学习算法(例如随机森林)有效。

我尝试了以下代码:

但是,当我尝试:

我收到以下错误:

我真的很感激任何帮助?

0 投票
1 回答
240 浏览

r - 总结 R 中的多个虚拟变量

假设我问了 10 个人他们喜欢哪种水果。可能的答案不止一个。将结果输入到 R 中,如下所示:

以便

如何在如下表中总结信息?

搜索后,我发现了一些想法,例如 using interaction(q1.banana, q1.apple, q1.melon),但这给出了不同类型的输出。此外,如果您的答案涉及通配符,我将不胜感激,因为我的真实案例预计会有几十个假人,我不想全部写出来。

0 投票
1 回答
1321 浏览

r - 将 9 个类别的竞赛变量重新编码为虚拟变量

请允许我先说我是 R 的新手。我清理了一些收入和租金变量,现在我试图将我的种族变量从 9 个类别重新编码为 2 个。原始变量的编码如下:

1=白色 2=黑色 3=本土 4=亚洲 5=A 6=B 7=C 8=D 9=E。我基本上是在尝试消除所有其他种族,只保留白色和黑色作为虚拟变量,其中 White=0 和 Black=1。这是代码:

操纵水平给我留下了“白色”和“黑色”,但是当我绘制它时,它也显示了 NA。我不确定如何摆脱因子变量中的 NA。任何想法,将不胜感激。

0 投票
1 回答
4398 浏览

r - 从 R 中的数值变量创建类别变量

我有一个数值变量(QS),范围为 1-10。我想创建一个分类变量,其中

差:QS < 5,好:QS > 5

所以我现在有 2 个分类变量......好和坏

在 R 中执行此操作的最佳方法是什么?