r - (!!!) 在 R 中是什么意思以及如何重命名一组变量
问题描述
我看到了这样的代码:
df %>% rename(!!! setNames(map$VarName, map$StdName))
这里是什么!!!
意思?还有,为什么我们一起使用rename
和setNames
?如果 df 的变量比 map$VarName 少,这是让这些代码运行的一种方法吗?现在它会弹出错误消息Error: Can't rename columns that don't exist.
有什么建议吗?非常感谢。
解决方案
正如错误所暗示的,key/val 数据集中不存在一些列名。使用当前代码,一种选择是使用“df”中常见的列对“map”数据集进行“子集/过滤”
map1 <- subset(map, VarName %in% colnames(df))
然后!!!
在命名向量上使用带有拼接符号 ( )的子集数据集
library(dplyr)
df %>%
rename(!!! setNames(map1$VarName, map1$StdName))
代替!!!
,我们也可以rename_with
使用
df %>%
rename_with(~ map1$StdName, all_of(map1$VarName))
推荐阅读
- tooltip - amCharts 中的 tooltipText 适配器
- c# - Visual Studio Code 未显示建议
- visual-studio-code - 在 Linux 上使用 VSCode 调试 Vala
- linux - 远程 - SSH 未连接到 VSCode 中的远程 Linux 服务器?
- python - 我将如何一起运行这两个文件。一个gui文件和一个主脚本
- javascript - 当视频的当前时间大于某个值时执行函数
- docker - GOOGLE_APPLICATION_CREDENTIALS 在 Cloud Run Container 中未定义
- excel - VB.NET - 删除 Activecell 的“命名范围”
- excel - 将“Control + A”插入文本框
- git - GitHub,但大文件转到 Google Drive