使用Tidyr分隔将一列分为两列

时间:2018-07-27 07:24:23

标签: r tidyr

我需要将一列分为两列。 我的数据在csv文件中,并将其导入到R中。 这是我正在使用的代码 已安装的tidyr软件包

data$CarName <- separate(data$CarName, c("Car Name", "Car Model"), sep = " ")

错误

  

UseMethod(“ separate_”)中的错误:     没有将适用于“ separate_”的适用方法应用于“ factor”类的对象

有帮助吗?

1 个答案:

答案 0 :(得分:0)

假设.csv文件中的数据用空格分隔,您可能希望查看str_split_fixed包中的stringr。根据您提供的信息,代码如下所示:

 carname <- "Carname CarModel"
 data <- data.frame(carname)
 data$name <- str_split_fixed(data$carname,n = 2,pattern = " ")[1]
 data$model <- str_split_fixed(data$carname,n = 2,pattern = " ")[2]

结果:

 data
           carname    name    model
 1 Carname CarModel Carname CarModel

例如,如果您的数据是逗号分隔,只需替换str_split_fixed中的模式即可。