dplyr在列内更改分组名称

huangapple go评论69阅读模式
英文:

dplyr change group names within a column

问题

如何使用 dplyr 在列内更改分组名称?

示例数据:

library(dplyr)

# 鸢尾花数据集

dat <- iris

# 唯一的分组名称

unique(dat$Species)

# 尝试更改Species列内的分组名称(例如,setosa = Group 1)

dat <- dat %>%
  mutate_at(Species, c('setosa' = 'Group 1',
                       'versicolor' = 'Group 2',
                       'virginica' = 'Group 3')) # 报错信息:Error in check_dot_cols(.vars, .cols) : object 'Species' not found

有很多关于如何使用 dplyr 更改列名的示例,但我很难找到如何在列内更改分组名称的示例。

英文:

How can I use dplyr to change group names within a column?

Example Data:

library(dplyr)

# Iris dataset

dat &lt;- iris

# Unqiue group names

unique(dat$Species)

# Attemp to change group names within the Species column (e.g., setosa = Group 1)

dat &lt;- dat %&gt;%
  mutate_at(Species, c(&#39;setosa&#39; = &#39;Group 1&#39;,
                       &#39;versicolor&#39; = &#39;Group 2&#39;,
                       &#39;virginica&#39; = &#39;Group 3&#39;)) # throws error message: Error in check_dot_cols(.vars, .cols) : object &#39;Species&#39; not found

There are plenty of examples on SO and google on how to change a column name using dplyr but I could not easily find an example of how to change group names within a column.

答案1

得分: 0

使用@JonSpring的答案

dat &lt;- dat %&gt;%
  mutate(Species = case_match(Species,
                              &quot;setosa&quot; ~ &quot;Group 1&quot;,
                              &#39;versicolor&#39; ~ &#39;Group 2&#39;,
                              &#39;virginica&#39; ~ &#39;Group 3&#39;))
英文:

Using @JonSpring answer

dat &lt;- dat %&gt;%
  mutate(Species = case_match(Species,
                              &quot;setosa&quot; ~ &quot;Group 1&quot;,
                              &#39;versicolor&#39; ~ &#39;Group 2&#39;,
                              &#39;virginica&#39; ~ &#39;Group 3&#39;))

huangapple
  • 本文由 发表于 2023年6月9日 00:05:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/76433783.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定