2016-08-02 48 views
-1

根据品牌和型号,许多R教程中使用的数据集有一个没有标题的首字母列,其中列出了汽车的名称。tidyr分开,错误请提供列名

我试图分开汽车的品牌和型号。

首先,我创建了名为“名称”的第一列无标题列。

> mtcars$names <- rownames(mtcars) 

> rownames(mtcars) <- NULL 

这给了我,这是与结果如下一个特征向量列:

> mtcars$names 

用下面的输出:

[1] "Mazda RX4"   "Mazda RX4 Wag"  
[3] "Datsun 710"   "Hornet 4 Drive" 

然后我尝试这样做:

separate(mtcars, colname = names, into = c('make', 'model') 

,并得到了以下错误:

错误:请提供列名

+2

参数是'col',而不是'colname'。 – aosmith

+0

如果问题在第一空间分裂,您可以在'separate'中使用'extra =“merge'',而不是制定正则表达式。请参阅[这里](http://stackoverflow.com/questions/37126634/r-tidyr-separate-only-first-n-instances/37126832) – aosmith

回答

0
separate(mtcars, col = names, into = c('make', 'model'), sep = '') 

的“威能”没有化妆的描述,但我认为这是你问什么。

+0

这将做到这一点,但要使它完成请解决真正的问题OP试图传递错误的参数名称('colname',它应该是'col'),这是触发错误的原因。 –

+0

[http://stackoverflow.com/questions/8299978/splitting-a-string-on-the-first-space] 在这里你可以找到一个更好的解决方案 – Tim91

+0

你怎么能说,勇敢没有一个做出描述。为了分开工作(以及extra ='merge'),我必须删除该行。 –