根据列添加数据帧的行

时间:2017-08-31 12:48:19

标签: r dataframe split

我有数据框

mydf <- data.frame(userid = c("1"),gender = c("boy girl boy"), dob = c("25-Mar-2016 02-Nov-2013 12-Nov-2014") )

我需要像这样添加和分割

                userid gender dob
            1      1    boy 25-Mar-2016
            2      1   girl 02-Nov-2013
            3      1    boy 12-Nov-2014

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

我们可以按空格分隔第二和第三列,append&#39; userid&#39;含有list的列并转换为data.frame

lst <- lapply(mydf[-1], function(x) unlist(strsplit(as.character(x), " ")))
cbind(userid = mydf[,1], data.frame(lst, stringsAsFactors= FALSE))
#  userid gender         dob
#1      1    boy 25-Mar-2016
#2      1   girl 02-Nov-2013
#3      1    boy 12-Nov-2014