r - dplyr 按序列复制每一行

标签 r dplyr

Dplyr:如何根据整数序列重复每一行 (1:3)

我正在注册(例如关于比利时):

country<- c("belg")
country <- as.data.frame(country)

登记册包含 3 页:
library(dplyr)

country2 <- country %>%
   slice(rep(1:n(), each=3)) %>% 
   mutate(pages = row_number())

我的输出:
  country page 
  belg     1
  belg     2
  belg     3

预期结果 :
每个 Register'pages 包含三行(根据整数序列 (1:3) 重复每行)
  country page row_id
  belg     1   1
  belg     1   2
  belg     1   3 
  belg     2   1
  belg     2   2
  belg     2   3
  ...

我试过的:

将此添加到我的 dplyr 管道中:
     %>%
     group_by(pages) %>% 
     mutate(row_id = seq(1:3)) %>%
     ungroup()

最佳答案

另一种选择是将 paste 作为字符串,然后使用 separate_rows 拆分行

library(tidyverse)
df %>% 
  mutate(row_id = toString(seq_len(3))) %>% 
  separate_rows(row_id)
#  country page row_id
#1    belg    1      1
#2    belg    1      2
#3    belg    1      3
#4    belg    2      1
#5    belg    2      2
#6    belg    2      3
#7    belg    3      1
#8    belg    3      2
#9    belg    3      3

关于r - dplyr 按序列复制每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441847/

相关文章:

r - 根据相关标签更改列中的值

r - 如何在 AWS EMR 中安装 R 语言版本 4 - Amazon linux 2

r - 使用R Shiny整合时间序列图和传单 map

git - 如果rstudio如何从git选项卡中获取文件

R mutate 不会添加列

r - 为什么我在计数和过滤后丢失了我的 NA (dplyr)

r - 对列表中数据框中的每个嵌套数据框应用函数

R:当数据帧包含字符串和数字时如何使用writexl

r:按多列分组并计数

r - 使用 dplyr 为每个组申请