2016-03-08 79 views
0

我需要在我的数据帧中移动行,而不是转移数据,但将第一行移动到第二行,将第二行移动到第三行..并放下最后一行。第一行包含全部NA。我需要在dplyr内完成。如果数据帧是:在r中的矩阵/数据帧中向下移动一行

1 2 3 
4 5 6 
7 8 9 

我想数据如下:

NA NA NA 
1 2 3 
4 5 6 

基本上我需要类似于在r中大熊猫移(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html

预先感谢

+3

的data.table包有一个函数'shift'将与一个data.frame为你做这个,像'setDF(移(DF))[]'' – Frank

+4

rbind(NA ,d [-nrow(d),])'适用于一行。 – Jota

+0

谢谢,dplyr中的任何内容? –

回答

6

评论回答,我能想到的最常用的dplyr方法是lagmutate_each。演示上mtcars

mtcars %>% mutate_each(funs = funs(lag)) 
+0

mutate_each已弃用。使用'mtcars%>%mutate_all(funs(lag),n = 1)' – Nettle