如何用另一个变量列的一个值替换一行中的值?

问题描述

我想创建一个由加权分数组成的新变量。在我的数据集中,1970-2014 年每年有 217 个国家和 534 个国际组织 (IO),以及一个衡量民主指数(“政体”)的变量。每行代表一个国家在给定年份是否是 IO 的成员。对于一个国家所属的每个 IO(在表 1 中编码为 100),我想分配政治得分(见表 2)。这样之后我就可以计算给定年份的“IO 分数”(每个 IO 的政治分数的加权总和)。由于有很多国家和 IO,我正在寻找一种简单的方法来使用相应变量(“政体”)的值更改每一行。

表 1:我的数据集示例:

country      year  IO1  IO2  IO3...IO534  polity
Afghanistan  1970  100  100  0     0      -7
Albania      1970  0    100  100   100    -9
Algeria      1970  100  0    0     100    -9
Australia    1970  100  0    100   100    10

表 2:之后数据集应该是什么样子的示例:

country      year  IO1  IO2  IO3...IO534  polity
Afghanistan  1970  -7   -7   0     0      -7
Albania      1970  0    -9   -9    -9     -9
Algeria      1970  -9   0    0     -9     -9
Australia    1970  10   0    10    10     10
-------------------------------------------------
IO-score     1970  -2   -8   0.5  -2.66

为了将每个值 100 更改为变量 'poliity' 的相应值,我尝试了以下操作:

dataframe[dataframe == "100"] <- dataframe$polity

这给了我以下错误

 'value' is the wrong length

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)