【问题标题】:separate in tidyr, error please supply column name [duplicate]在 tidyr 中分开,错误请提供列名 [重复]
【发布时间】:2016-08-02 19:05:26
【问题描述】:

在许多 R 教程中使用的数据集都有一个没有标题的初始列,该列根据品牌和型号列出了汽车的名称。

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

首先,我制作了第一个无标题列的列,称为“名称”。

> 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')

并得到以下错误:

错误:请提供列名

【问题讨论】:

  • 参数是col,而不是colname
  • 如果问题是在第一个空格上拆分,您可以在separate 中使用extra = "merge" 而不是计算正则表达式。见here

标签: r tidyr


【解决方案1】:
separate(mtcars, col = names, into = c('make', 'model'), sep = '')

“威能”没有品牌描述,但我认为这就是您所要求的。

【讨论】:

  • 这会完成,但要使其完整,请解决 OP 试图传递不正确的参数名称(colname 应该是 col)的真正问题,这是触发错误。
  • [stackoverflow.com/questions/8299978/…在这里你可以找到更好的解决方案
  • 你怎么知道英勇队没有制作描述。为了分开工作(连同 extra = 'merge' ),我不得不删除该行。
  • @ErnieCranks 您的 tidyr 版本是最新的吗? separate 在这个例子中对我来说很好,只需将 NA 放在 Valiant 的第二列并给出警告。
猜你喜欢
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 2020-07-15
  • 2016-10-14
  • 2018-10-18
相关资源
最近更新 更多