-1

Can anyone please help with this little data.frame expansion problem? Thanks in advance!

# I have 
data.frame(rbind(c("1", "2", "3", "a/b/c"),
                 c("11", "0", "5", "c/d"),
                 c("3", "33", "0", "a"))
           )

#   X1 X2 X3    X4
# 1  1  2  3 a/b/c
# 2 11  0  5   c/d
# 3  3 33  0     a

# I want
data.frame(rbind(c("1", "2", "3", "a"),
                 c("1", "2", "3", "b"),
                 c("1", "2", "3", "c"),
                 c("11", "0", "5", "c"),
                 c("11", "0", "5", "d"),
                 c("3", "33", "0", "a"))
           )

#   X1 X2 X3 X4
# 1  1  2  3  a
# 2  1  2  3  b
# 3  1  2  3  c
# 4 11  0  5  c
# 5 11  0  5  d
# 6  3 33  0  a
Kay
  • 2,702
  • 6
  • 32
  • 48

1 Answers1

1

We can use data.table

 library(data.table)
 setDT(df1)[, strsplit(as.character(X4), "/"), by = .(X1, X2, X3)]
akrun
  • 874,273
  • 37
  • 540
  • 662