我试图创建一个新的列有条件地基于其他几列。这是我的数据。我正在尝试创造一年的差异列。计算列在其他列的条件r
> person <- c(rep("A", 4), rep("B", 1), rep("C",3), rep("D",1))
> score <- c(1,1,2,4,1,1,2,2,3)
> year <- c(2017, 2016, 2015, 2014, 2015, 2017, 2015, 2014, 2017)
此功能会找上一年度的数据针对此人,并从他们目前的得分得分。如果没有前一年的数据,则返回NA。所以对于我的数据,我会得到一个新的列“差异”,其值为0,-1,-2,NA,NA,NA,0,NA,NA。
很想看到dplyr的答案,但香草解决方案欢迎。
介意通过语法走我?给一个男人一条鱼vs教一个男人去钓鱼.... – AZhao
@AZhao哪一部分困惑了你? – Wen
@AZhao意识到,你是一个Python用户,所以我的解释开始从蟒蛇R, 的r =滞后的Python shift' 的r = GROUP_BY Python的groupby' 的r = ifesle Python的np.where' 的r arrange = Python sort_values' – Wen