dplyr按顺序复制每一行
Dplyr:如何基于整数序列(1:3)重复每一行 我正在登记(例如关于比利时): 预期结果: 每个寄存器的页面包含三行(根据整数序列(1:3)重复每行) 我尝试的是: 将此添加到我的dplyr的管道:dplyr按顺序复制每一行,r,dplyr,R,Dplyr,Dplyr:如何基于整数序列(1:3)重复每一行 我正在登记(例如关于比利时): 预期结果: 每个寄存器的页面包含三行(根据整数序列(1:3)重复每行) 我尝试的是: 将此添加到我的dplyr的管道: %>% group_by(pages) %>% mutate(row_id = seq(1:3)) %>% ungroup() 您可以创建一个列表列,每个列包含1:3,然后取消对其的测试: library(dplyr); library
%>%
group_by(pages) %>%
mutate(row_id = seq(1:3)) %>%
ungroup()
您可以创建一个列表列,每个列包含1:3,然后取消对其的测试:
library(dplyr); library(tidyr)
df %>% mutate(row_id = list(seq_len(3))) %>% unnest()
# 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
另一个选项是将
粘贴为字符串,然后使用分隔行
拆分行
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
非常好的回答。非常有帮助。很高兴它有帮助!
country page row_id
belg 1 1
belg 1 2
belg 1 3
belg 2 1
belg 2 2
belg 2 3
...
%>%
group_by(pages) %>%
mutate(row_id = seq(1:3)) %>%
ungroup()
library(dplyr); library(tidyr)
df %>% mutate(row_id = list(seq_len(3))) %>% unnest()
# 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
dput(df)
structure(list(country = structure(c(1L, 1L, 1L), .Label = "belg", class = "factor"),
page = 1:3), .Names = c("country", "page"), class = "data.frame", row.names = c(NA,
-3L))
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