我有一个包含经济数据的数据框,按年份(1991-2016)逐行分隔。我试图在数据框中添加一列类别变量“组”,将第1组的1991-1999年,第2组的2000-2009年和第3组的2010-2016年分组。
我尝试用if / else语句添加该列。
wdi$groups <-
if(wdi$year > 1990 & wdi$year <2000) {
1
}
if else(wdi$year > 2000 & wdi$year < 2010) {
2
}
else {
3
}
我收到以下错误消息。
条件的长度> 1,并且仅使用第一个元素错误:“如果不是”中出现意外的'else'
答案 0 :(得分:0)
您可以使用case_when
轻松做到这一点:
library(tidyverse)
df%>%
mutate(group = case_when(year %in% 1991:1999 ~ 1,
year %in% 2000:2009 ~ 2,
year %in% 2010:2016 ~ 3))