问题标签 [recode]

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

r - 重新编码分布在 R 中多个变量的单个变量

我正在处理对种族有疑问的调查数据。每个种族类别都是它自己的变量。这是我想做的事情:

  1. 创建一个新变量,p.race
  2. 为种族/民族(下)分配p.race八个变量之一的值。
  3. 确定个人是否标记了两个或更多种族,并p.race在这种情况下分配值“两个或更多种族”。
  4. 当他们表示该种族时,分配p.race值“西班牙裔或拉丁裔”。
  5. 创建一个新变量 ,p.poc以指示他们是否是有色人种(即,不是白人,包括西班牙裔/拉丁裔)。这应为 0 或 1。

八个种族类别是白人*、黑人*、亚洲*、AIAN*、NHPI*、其他种族*、两个或更多种族*和西班牙裔;其中 * 表示不是西班牙裔或拉丁裔。


到目前为止,这是我尝试解析“两场或多场比赛”的方法:

执行时,它返回此错误:

这是我的poc变量编码,错误如下:

我真的不知道从哪里开始分配race八个种族类别之一的新变量,而不使它成为一个长的代码。


如果有帮助,以下是调查问题:

Q1。您认为自己是西班牙裔、拉丁裔还是西班牙裔?

  • 是的

Q2。您认同哪个种族(勾选所有适用项)?

  • 白人、欧洲人、中东人或高加索人
  • 黑人、非裔美国人或非洲人
  • 亚洲人或亚裔美国人
  • 美洲印第安人或阿拉斯加原住民
  • 夏威夷原住民或其他太平洋岛民
  • 其他(请注明)

这是示例输出(文本被截断):

这是一个dput输出:

0 投票
3 回答
371 浏览

r - 在 R 中重新编码 150 多个分类变量

我有一个包含一堆城市的文件(到目前为止,183 个),但没有一个城市映射到它们,这是我需要的。对于重新编码分类变量,我通常使用 plyr 的 rename() 函数,但我不想编写一段乱七八糟的代码来重新编码所有这些城市。最近也在学一点python,这个问题听起来有点像字典/哈希表的问题。如果可能的话,我想学习做一些更程序化的事情。

作为第一个镜头,我继续创建了一个 .csv,其中在一个列中包含每个城市的名称,在另一列中包含其县。我希望以某种方式将它与我需要的文件结合在一起,以便可以映射事物。一些最小的代码来说明我的意思:

我尝试在 plyr 中使用 join() 但无法使其工作(如果这是我遵循的正确轨道,我可以使用我的代码进行更新,不确定)。我也知道 sqldf 包,但由于我现在也是第一次学习 SQL,不确定这是否是一种连接类型?我的大脑认为这是一种“一对多”的映射。

我认为现在尝试学习所有这些其他语言让我有点困惑,但它给了我一些关于如何尝试的想法。我首选的解决方案是 R 惯用的。

0 投票
3 回答
4081 浏览

r - 如何在R中的数据框中重新编码一组变量

我有一个数据框,其中包含从 1 到 5 的值的不同变量。我想以 5 变为 1 的方式重新编码一些变量,反之亦然 (x=6-x)。我想定义一个变量列表,将在我的数据框中像这样重新编码。

这是我使用lapply. 我还没有真正理解它。

0 投票
1 回答
113 浏览

r - 改变两个data.table中两个变量的编码,然后合并data.table

我有两个 data.tables(“偶数”和“奇数”),每个都有变量“时间”(1:6)。我想重新编码两个“时间”变量,以便“偶数”中的“时间”只有偶数,而“奇数”中的“时间”只有奇数。这是我到目前为止所做的:

现在我想将两个 data.table 合并为一个 data.table。新的 data.table 应该包含 id、emotion、learning 和一个名为“time_x”的变量。"time_x" 应该是 time_even 和 time_odd 的合并结果。新的 data.tables 包含两倍的行数,但列数相同(可以删除旧变量“时间”)

结果表应如下所示:

有人可以帮忙吗?

0 投票
1 回答
735 浏览

r - 重新编码字符串时,Car 包中的重新编码返回意外符号

使用汽车包重新编码功能时,我遇到了一个反复出现的问题。如果我重新创建一个公开使用的示例(http://susanejohnston.wordpress.com/2012/07/18/find-and-replace-in-r-part-1-recode-in-the-library-car/

并做:

它返回:

错误:“y1 <- recode(y, "c("Perch"

我正在运行 R 3.1.0 并使用 car_2.0-22

我假设该页面的作者能够完成他们发布的操作,但我无法重新创建它,这与我的数据中的问题相同。想法?

0 投票
2 回答
6741 浏览

stata - 在 Stata 中重新编码性别

在我的数据集中,我的性别变量中目前有标签男性和女性。

因为我要运行一个回归模型,所以我想改变这个,所以男性和女性被重新编码为 0 和 1。但是,我不知道该怎么做!

非常感谢任何帮助

0 投票
1 回答
180 浏览

r - R:将几个字符重新编码为一个新的因素

我是 R 新手,在这个网站上找不到我的问题的具体帮助。

我的数据框 $grant_database、country_1 到 country_10 中有(除其他外)十个字符变量。每个都包含一个国家代码,例如 E20、F27 或 G10,或者一个 NA。每个案例都是对项目的资助。十个国家变量指定赠款受益的国家/地区。在我的数据框中,大多数(但并非所有)案例都会有至少一个国家代码,首先在 country_1 中进行标记,许多情况下也会有一个用于 country_2,有些甚至是用于 country_3 到 _10。所有空字段都标有 NA。

我希望创建一个新的因素来标记有利于特定国家子集的赠款。对于在十个国家变量中至少有一个与国家代码列表相对应的每种情况,这个二进制“虚拟”变量应该给出值“1”。对于在其十个国家变量中的任何一个中没有相应国家代码的每个案例/授权,它应该给出“0”。让这个要标记的国家代码子集为:E20、F27 和 G10(实际上,大约有 40 个要标记,从 150+ 开始)。

你会通过建议一种编程方法来帮助我吗?非常感谢您的帮助!

0 投票
1 回答
1042 浏览

r - 重新编码列表中的变量

我想我是本着“没有问题太容易”的精神写的,我只是一个普通的 Stata 用户社会科学家,第一次接近 R,面对它有无尽的夜晚......请怜悯!

我正在使用来自 20 个国家/地区的比较数据集(大约 20,000 个观察值,各国之间相当平衡)。我必须执行一组计算量非常大的 MCMC 模拟,因此我决定将 df 拆分为包含 20 个(特定国家/地区)df 的列表,然后继续lapply(). (我读到避免forR 上的循环更有效,对吧?)

我最直接的问题是我无法预处理列表中包含的各种 df 中的元素。特别是,我必须重新编码一组 15 个变量,这些是范围从 0 到 10 的整数,其中包括缺失案例的 SPSS 典型值:77 88, 89, 99, 999. 我想将这些值重新编码NA,然后做一些额外的转换:以 0 为中心,定义两个 df 对象TTT两组不同的变量,以便稍后在模拟中使用。必须在组成“主”列表“ees2009split”的 20 个不同的国家特定列表元素中重复此任务。

所以这是我的清单(抱歉,我无法提供可重现的示例):

等等......直到第20个国家。

我定义了两个要调用lapply()的函数,函数rename()recode()

到目前为止,一切都很好:

使用重新编码功能,我却很难:

这是输出:

1)我应该如何重新编码包含在列表中的数据框中的变量lapply()?更广泛地说,如何在函数中的国家 df 内插入对象?2)在更一般的立场上,这种处理方式是否正确?拆分,定义特定任务的函数,用 调用它们lapply(),最后重新组合?

感谢您的任何建议或评论。安德烈亚

0 投票
1 回答
415 浏览

r - 重新编码省略 NA 的值

我想以所有值 <=.2 变为 2,<=.4 变为 3 等方式重新编码矩阵中的值。但是,我的数据中有缺失,我不想更改(保留它们不)。在这里您可以找到我的代码的简化版本。使用 na.omit 非常适合第一次更改

但是,当我对更高类别执行相同操作时,NA 也会更改:

有人可以向我解释两者有什么区别,为什么第二个也改变了 NA 值,而第一个没有?还是我做错了什么?

0 投票
2 回答
15140 浏览

r - 如何将因子变量转换为数字 - 使用 R

我还有一个问题,希望得到您的帮助。我已经用谷歌搜索了,问了一个朋友并试图了解这个网站周围的类似问题/问题,但我仍然无法弄清楚......

好的,这是我的问题:我有一个涵盖 1980-2012 年数据的大型数据集。我使用 read.spss 函数将数据输入 R

这似乎行得通。然后我想分析变量 14 (v14),它是一个从“完全同意”到“完全不同意”的李克特量表,因此被编码为一个因素。我想比较随着时间的推移对这个李克特量表的回复的变化,所以我想计算它的平均值,为了这样做,它需要是数字的。这是问题的第一步......根据R for Dummies,我需要先将因子更改为字符,然后将其更改为数字。好吧...这是我的代码...首先我尝试了不起作用的 recode() 函数 - 然后我继续创建了一个新对象“econ”,该对象在副本中计算了 variable14。(所以我不影响工作区中的原始 v14 数据)

考虑到“傻瓜网站”,我将内容更改为字符,然后更改为数字

出于某种原因,这给了我一个“好”的结果,尽管“作为字符”行中的“错误”(??)......如果我选择- 我在 命令econ <- as.character(econ)后收到“警告消息:强制引入的 NA” econ <- as.numeric(econ)...

好的,到目前为止,我猜它似乎以某种方式工作!?

但是后来我想计算每年的平均值(在变量 2 中),我偶然发现了这个函数by(),它看起来就像我想要的那样,所以我的代码结果是:

现在我似乎在 avgEconRat 对象中有数据,但首先,我不确定我的平均值是否正确,其次,这在某种程度上是主要问题,我现在如何参考我的数据来绘制它?

这就是我想到的代码 - 我知道我现在必须用“econ”替换“rohdaten”,但因为我不知道“econ”是如何构建的(而且也不知道如何找出),我完全被困在这里:-/我觉得我拥有(或可能拥有,取决于我的手段是否正确......)我需要的数据,但有点无法访问它。

很抱歉我遇到了奇怪的问题,但是如果没有任何以前的经验,在没有真正指导的情况下学习编程有点困难。

非常感谢您的耐心、时间和帮助!