微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用来自同一数据框中的数值在数据框中创建新的分类列?

如何解决使用来自同一数据框中的数值在数据框中创建新的分类列?

我正在尝试根据 4 个不同数值列中的最高数字为数据框中的每个观察值分配一个分类值。

我正在处理一份所有 FIFA 足球运动员的名单,例如,如果他们的最高评分是他们的投篮数据,那么他们就是攻击者,如果防守得分最高,那么你就明白了。

解决方法

library(tibble)
library(dplyr)

df <- tibble(
  player = c("Ronaldo","Messi","Neymar","Dibala"),Shooting = c(24,54,23,44),Defending = c(66,55,44,35)
)

df <- df %>%
  mutate(role = ifelse(Shooting > Defending,"Attacker","Defender"))

df

你的意思是这样吗?

,

我们可以使用 case_when

library(dplyr)
df %>%
    mutate(role = Shooting > Defending ~ "Attacker",TRUE ~ "Defender"))

或者另一个选项是max.col

df$role <- c("Attacker","Defender")[max.col(df[c("Shooting","Defending")],'first')]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。