根据数据可用性创建重复的行

时间:2019-08-15 18:22:34

标签: r

在这种情况下,我尝试用逗号分隔一列,然后根据逗号之间的元素数制作重复的行。我使用过str_split_fixed()可以适当地拆分列,但是我不知道如何使用它来重复行。

作为一个例子,我有这个数据框:

V1  V2 V3 V4
foo a  b  1,2,3  
bar c  d  1,2

并希望将其作为输出输出到此数据框:

V1  V2 V3 V4
foo a  b  1
foo a  b  2
foo a  b  3
bar c  d  1
bar c  d  2

1 个答案:

答案 0 :(得分:-2)

为此,有separate_rows

library(tidyverse)
df1 %>%
     separate_rows(V4, sep=",", convert = TRUE)
#.  V1 V2 V3 V4
#1 foo  a  b  1
#2 foo  a  b  2
#3 foo  a  b  3
#4 bar  c  d  1
#5 bar  c  d  2

数据

df1 <- structure(list(V1 = c("foo", "bar"), V2 = c("a", "c"), V3 = c("b", 
"d"), V4 = c("1,2,3", "1,2")), class = "data.frame", row.names = c(NA, 
-2L))