我有一个数据框df1,以便:
group=c(0,5,3,0,5,3)
year=c("2001","2002","2003", "2010", "2012", "2013")
items=c(12, 10, 15, 5, 10, 7)
df1=data.frame(group, year, items)
我想创建一个新列,我将一个值分配给一年,而将其余值保留为0.例如,我希望它看起来像这样:
group year items new
1 0 2001 12 1
2 5 2002 10 0
3 3 2003 15 0
4 0 2010 5 0
5 5 2012 10 0
6 3 2013 7 0
谢谢!
答案 0 :(得分:4)
在没有其他要求的情况下,我会使用:
df1$new <- ifelse(year == 2001, 1, 0)
答案 1 :(得分:4)
只做
df1$new <- +(df1$year==2001)