列中的重复值

Duplicating values in a column

我有一个 df:

> df
# A tibble: 3 x 2
   Class word    
   <fct> <chr>   
 1 Y     nature
 2 Y     great
 3 Y     are     

我想将 word 中的每个值重复特定次数。比如我要重复4次:

> df
# A tibble: 12 x 2
   Class word    
   <fct> <chr>   
 1 Y     nature
 2 Y     nature
 3 Y     nature     
 4 Y     nature
 5 Y     great
 6 Y     great
 7 Y     great
 8 Y     great
 9 Y     are
10 Y     are
11 Y     are
12 Y     are

如何使用 rep() 执行此操作?

我们可以使用uncount

library(tidyr)
library(dplyr)
df %>%
    uncount(4) %>%
    as_tibble

或者用rep

df[rep(seq_len(nrow(df)), each = 4),]

我们可以使用这个:

library(dplyr)
df %>% slice(rep(1:n(), each = 4))