作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据框,其中包含我工作的 3 个重要变量。变量是 CountryName、year 和 Idealpoint。我想做的是找出特定年份美国和任何单个国家之间理想分数的差异。例如,我想计算 1993 年美国和克罗地亚之间理想点的差异。如何对美国年度理想点进行子集化并从中减去所有其他国家/地区的数据?
数据如下
year Idealpoint CountryName
1 1991 2.98 United States of America
2 1992 3.00 United States of America
3 1993 2.97 United States of America
4 1994 3.00 United States of America
5 1995 3.11 United States of America
6 1996 3.12 United States of America
7 1997 2.99 United States of America
8 1998 2.72 United States of America
9 1999 2.51 United States of America
10 2000 2.56 United States of America
还有其他行具有不同的国家/地区名称,例如克罗地亚、瑞典等...
我尝试创建仅包含美国理想点数的子集向量,并从上述数据的子集中减去该子集(不含美国数据)。问题是,并不是每个国家每年都有一个理想的点,因为在某些情况下该国家并不存在。因此,US 理想点向量的长度不是非 US 向量长度的倍数。我该如何解决这个问题?
理想情况下,我希望看到的是类似的东西(只是一个例子,而不是我期望的实际结果)
year Idealpoint CountryName DifIdealUS
1 1991 2.98 Latvia 1
2 1992 3.00 Latvia 1.2
3 1993 2.97 Latvia 1.3
4 1994 3.00 Latvia 1
5 1995 3.11 Latvia 1.1
6 1996 3.12 Latvia 1.2
7 1997 2.99 Latvia 1.3
8 1998 2.72 Latvia 1.6
9 1999 2.51 Latvia 1.7
10 2000 2.56 Latvia 1.6
最佳答案
我们能做到
library(dplyr)
df1 %>%
group_by(year) %>%
mutate(DifIdealUS = Idealpoint -
Idealpoint[CountryName == 'United States of America'])
或者另一种选择,如果所有“CountryName”中的“年份”值相同并且按顺序
排列,则
df1$DifIdealUS <- df1$Idealpoint -
df1$Idealpoint[df1$CountryName == "United States of America"]
关于r - 如何从列的其余部分中减去列的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55940801/
我是一名优秀的程序员,十分优秀!