【发布时间】:2019-01-30 11:40:46
【问题描述】:
我有一个名为 CSES(选举制度比较研究)的数据集,其中每一行对应一个人(民意调查中的一次采访),来自许多国家,在许多不同的年份。
我需要创建一个变量来识别每个人所投票的政党的意识形态,正如同一个人所感知的那样。
但是,该数据集通过字母 A、B、C 等来识别每个政党的这种感知意识形态(与许多其他变量一样)。然后,在识别每个人投票给哪个政党时,它有一个唯一的代码编号,这与不同年份的这些字母不对应(即,同一政党在不同年份可以有不同的字母——当然,不同国家的政党永远不会是同一个政党,因为每个国家都有自己的政党) .
帮助澄清、重现和创建代码的虚构数据:
假设:
国家 = c(1,1,1,1,2,2,2,2,3,3,3,3)
年 = c (2000,2000,2004,2004,2002,2002,2004,2008,2000,2000,2000,2000)
party_A_number = c(11,11,12,12,21,21,22,23,31,31,31,31)
party_B_number = c(12, 12, 11, 11, 22,22,21,22,32,32,32,32)
party_C_number = c(13,13,13,13,23,23,23,21,33,33,33,33)
party_voted = c(12,13,12,11,21,24,23,22,31,32,33,31)
ideology_party_A
ideology_party_B
ideology_party_C
让我们将我要创建的变量称为“ideology_voted”:
我需要类似的东西:
IF party_A_number == party_voted THEN ideology_voted = ideology_party_A
如果party_B_number == party_voted,那么 ideology_voted == ideology_party_B
如果party_C_number == party_voted,那么 ideology_voted == ideology_party_C
真实数据集有 9 个字母,代表每个国家(最多)9 个主要政党、数十个国家和选举年。因此,如果有一个代码可以迭代字母 A-I 而不是“如果投票给 A 党,那么……”,那就太好了。如果投给了乙方,那么……”
尽管如此,即使我尝试更长的重复代码(每个派对字母一个转换 - 这将给我 8 行代码),我也遇到了麻烦
【问题讨论】:
-
您好,这个问题之前已经被问及回答过,例如这里:*.com/questions/30339765/… 请确保您在提出新问题之前仔细搜索过。
-
感谢您的回复,但我看不出这两个问题是一回事。我正在努力弄清楚如何为我的问题翻译该代码(以及我发现的其他代码),但似乎并非如此。在您提到的问题中,只需要知道一列中的某人是母亲还是父亲(即,如果它在另一列中,则与行无关)。在我的情况下,我必须根据第三个变量,为每一列确定我应该为我的新值选择的其他六列的值是多少。
-
没有任何数据结构很难回答这个问题,请给出一两行数据(如果不能共享实际数据,可以编造)和这些行的手动计算输出,以便人们可以更好地理解您想要计算的内容。 (这篇文章对此有很大帮助:*.com/questions/5963269/…)
-
谢谢。之前很纠结,不好意思。现在我相信这很清楚了。
标签: r