我可以使用 ' contains' in检查特定列是否存在dplyr。如果表达式的摘要不存在,我很难评估它。
这是我的代码片段:
df <- Prod%>%
group_by(Entity)%>%
select(Entity,`Cum.Oil`,`Cum.Gas`,contains("EUR")%>%
summarise(Oil = mean(`Cum.Oil`), Gas = mean(`Cum.Gas`), EUR=mean(EUR))
Run Code Online (Sandbox Code Playgroud)
如果 EUR 列不存在,如何忽略汇总表达式中的“EUR”表达式?
像这样的东西应该有效:
df <- Prod%>%
group_by(Entity)%>%
summarise(across(any_of(c('Cum.Oil', 'Cum.Gas', 'Eur')), ~mean(.x),
.names = '{.col %>% str_remove("Cum.")}' )
Run Code Online (Sandbox Code Playgroud)
不过,如果没有一些代表就无法进行测试。
any_of提示:您还可以在 select 语句中使用:
df <- Prod%>%
group_by(Entity)%>%
select(any_of(c('Entity', 'Cum.Oil', 'Cum.Gas', "EUR"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |