首页 > 解决方案 > 如何用“;”分割字段 在 data.frame 中形成新字段

问题描述

我有以下data.frame:

d.f=data.frame(authors=c("Paco Blue; Eddy Michelt","Sara Robert","Anne Reed; Robert A. McDonald; Alice Brice"),title=c("The live is good","Another","Yesterday"))


  authors                                     title
  <fctr>                                      <fctr>
Paco Blue; Eddy Michelt                   The live is good      
Sara Robert                                  Another        
Anne Reed; Robert A. McDonald; Alice Brice  Yesterday

我想用“;”分割作者字段 ,即从上一个得到如下data.frame:

d.f1<-data.frame(authors=c("Paco Blue","Eddy Michelt","Sara Robert","Anne Reed","Robert A. McDonald","Alice Brice"), title=c("The live is good","The live is good","Another","Yesterday","Yesterday","Yesterday"))
d.f1
 authors                 title
 <fctr>                 <fctr>
 Paco Blue         The live is good         
 Eddy Michelt      The live is good         
 Sara Robert           Another          
 Anne Reed           Yesterday          
 Robert A. McDonald  Yesterday          
 Alice Brice         Yesterday

提前致谢。

标签: rdataframe

解决方案


这是经常这样做的,它有一个功能:

library(tidyr)
separate_rows(df, authors, sep=';')

推荐阅读