【发布时间】:2022-12-06 08:50:47
【问题描述】:
我有下表:
df_test <-data.frame(player = c('a', 'b', 'c', 'd', 'e'),
position = c('G', 'F', 'F', 'G', 'G'),
points = c(9, 15, 19, 22, 32),
rebounds = c(5, 7, 7, 12, 11))
假设我想添加名为 rating 的新列。新列的规则如下:
- 检查点数是否超过 10。
- 然后,执行 case_when 检查其他变量:
- 当篮板数 >=7 时,我们将“平均”添加到变量评级中
- 当篮板 >=10 时,我们在变量评级中添加“好”
- 否则,NA
为此,我使用以下代码:
df_test%>% mutate(new=if(points>=20){ case_when(rebounds>=7~"good", rebounds>10~"best") })但是,这给了我以下错误:条件的长度 > 1。
我们如何在同一个 mutate 语句中组合 if 和 case_when,或者是否有可能在 case_when 中编写 case_when?
【问题讨论】: