【发布时间】:2016-11-09 07:01:33
【问题描述】:
我无法使用dplyr 重复我的真实数据行。这里已经有另一个帖子repeat-rows-of-a-data-frame,但dplyr 没有解决方案。
在这里我只是想知道dplyr 的解决方案如何
但失败并出现错误:
错误:错误的结果大小 (16),预期为 4 或 1
library(dplyr)
df <- data.frame(column = letters[1:4])
df_rep <- df%>%
mutate(column=rep(column,each=4))
预期输出
>df_rep
column
#a
#a
#a
#a
#b
#b
#b
#b
#*
#*
#*
【问题讨论】:
-
我能想到的唯一方法是通过管道进入
do块,并从当前的data.frame 生成一个你想要的新块(df %>% do(data.frame(column = rep(.$column, 4))))。但是,如果 data.frame 有任何其他列,这将充满危险。 -
@r2evans 效果很好。您可以将其作为答案发送。只需要更改
do(data.frame(a = rep(.$a, each=4)))。