复制列中的值

问题描述

我有一个 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))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...