【发布时间】:2016-03-08 20:48:36
【问题描述】:
我需要在我的数据框中移动行,而不是传输数据,而是将第一行移到第二行,将第二行移到第三行 .. 并删除最后一行。第一行包含所有 NA。我需要在 dplyr 内做。如果数据框是:
1 2 3
4 5 6
7 8 9
我想要如下数据:
NA NA NA
1 2 3
4 5 6
基本上我需要类似于pandas shift (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html) in r
提前致谢
【问题讨论】:
-
data.table 包有一个函数
shift,它会用一个data.frame为你做这件事,比如setDF(shift(DF))[] -
rbind(NA, d[-nrow(d), ])适用于一行。 -
谢谢,dplyr 中有什么?
-
这是一个使用
dplyr的hack,但您可以尝试以下rbind(NA, df %>% filter(row_number()!=1)) -
在
dplyr中惯用:your_data %>% mutate_each(funs = funs(lag))。