在这种情况下,我尝试用逗号分隔一列,然后根据逗号之间的元素数制作重复的行。我使用过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
答案 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))