拆分1栏第2分列在一个数据帧[重复](Split 1 Column into 2 Columns i

2019-09-01 06:32发布

这个问题已经在这里有一个答案:

  • 分割数据帧串列分成多个列 14分的答案

这是我的数据帧。

    > data
       Manufacturers  
1   Audi,RS5  
2   BMW,M3  
3   Cadillac,CTS-V  
4   Lexus,ISF

所以,我要拆分的制造商和型号,这样,

    > data
    Manufacturers       Models
1   Audi                RS5  
2   BMW                 M3  
3   Cadillac            CTS-V  
4   Lexus               ISF

我希望在这个问题上的任何帮助。 非常感谢。

Answer 1:

一些样本数据。 你可以使用一个特征向量,但我会用一个数据帧,以配合您的示例:

df <- data.frame(Manufacturers = c("Ducati,Diavel", "Honda,Goldwing",
                                   "BMW,R1200GS", "Harley-Davidson,Fat Boy"),
                 stringsAsFactors = FALSE)

使用strsplit()将字符串分隔。 请注意,它需要一个字符(不是一个因素)载体。 Strsplit()返回一个列表对象:

list <- strsplit(df$Manufacturers, ",")

转换列表转换成数据帧,并设置相应的列名:

library("plyr")
df <- ldply(list)
colnames(df) <- c("Manufacturer", "Model")


文章来源: Split 1 Column into 2 Columns in a Dataframe [duplicate]
标签: r split strsplit