r - R: if_else, ifelse
问题描述
我是 R 的新手,并且在很长一段时间后也开始使用它。我从该站点获得了 NFL 第 1 周的数据,并尝试执行一个小的 ifelse,但它不起作用。我想要结果字段中的团队名称
#this works only when condition is true and doesn't when condition is false
wk1$tm_won= if_else(wk1$home_score < wk1$away_score, wk1$away_team, wk1$home_team)
#this doesn't work - gives me the difference
wk1$tm_won1 <- ifelse(wk1$home_score < wk1$away_score, wk1$away_team, wk1$home_team)
#this doesn't work - gives me difference and not the team name
wk1 %>%
mutate(tm_won2 = ifelse (home_score < away_score, away_team,
ifelse (home_score > away_score, home_team, NA)))
#this doesn't work
wk1 %>%
mutate(tm_won = case_when(
home_score < away_score ~ away_team,
home_score > away_score ~ home_team,
TRUE ~ a ))# DRAW
我的结果数据集:
season week home_team away_team home_score away_score tm_won tm_won1 tm_won2
2019 1 CHI GB 3 10 GB 7 7
2019 1 CAR LA 27 30 LA 11 11
2019 1 PHI WAS 32 27 <NA> 14 14
2019 1 NYJ BUF 16 17 BUF 3 3
2019 1 MIN ATL 28 12 <NA> 9 9
解决方案
另一种选择是在 if else 中使用 as.character
if_else(wk1$home_score < wk1$away_score, as.character(wk1$away_team),as.character(wk1$home_team))
推荐阅读
- c# - Oracle打开连接在其他计算机上不起作用
- javascript - JavaScript 代码未在对话窗口中执行
- kotlin - 如何从 json 构造我的 Kotlin API 类?(使用 Moshi)
- c# - 处理更新详细记录的 RESTful 方式
- javascript - Vanilla Javascript 和 XML - For-loop 问题
- wordpress - 仍然找不到硬编码的清单开始网址?
- mysql - MySQL-滥用聚合函数
- c++ - Why does keyword struct in C++ differ from keyword struct in C?
- php - 限制周末使用优惠券
- xargs - 使用 fswatch 和 xargs 更改 /var/www/html 文件夹的权限和所有者