- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下简化的用例,但它失败了,说明列不存在,这是正确的。在我的真实用例中,这个小问题来自解析 XML,它可能不包括所有预期的列,但在少数情况下包括一个子集,即缺失值:
library(tidyverse)
mapping <- c('a', 'b', 'c')
names(mapping) <- c('x', 'y', 'z')
tibble(a=c(1, 2, 3), b=c('m', 'm', 'm')) %>%
select(!!! mapping)
Error: Unknown column `c`
Run `rlang::last_error()` to see where the error occurred.
错误是正确的。但是,有没有一种方法可以加强这一点,以便 c
在丢失时自动使用 NA 创建?
更新:我在 tidyverse 之外制定了以下简单的解决方案:
# create a data frame instead of a tibble
df <- data.frame(a=c(1, 2, 3), b=c('m', 'm', 'm'), stringsAsFactors = FALSE)
# fill in missing columns with NAs
df[,setdiff(mapping, colnames(df))] <- NA
# reorder columns to match the mapping
df <- df[, mapping]
df
# now is safe to rename using the mapping
as_tibble(df) %>%
select(!!! mapping)
我仍然对使用 tidyverse
和 tibble
的现代解决方案感兴趣。
最佳答案
您的解决方案的扩展可能是
library(tidyverse)
df[,setdiff(mapping, colnames(df))] <- NA
df %>% rename_all(~names(mapping))
# x y z
#1 1 m NA
#2 2 m NA
#3 3 m NA
或者另一种方法
map_dfc(setdiff(mapping, colnames(df)), ~df %>% mutate(!!.x := NA)) %>%
arrange(mapping) %>%
rename_all(~names(mapping))
关于r - 是否有比使用三重感叹号选择更强大的重命名替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335860/
在查看 tslint 规则的源代码时,我发现了以下语句: if (node.parent!.kind === ts.SyntaxKind.ObjectLiteralExpression) {
在查看 tslint 规则的源代码时,我发现了以下语句: if (node.parent!.kind === ts.SyntaxKind.ObjectLiteralExpression) {
我正在处理这个项目,并试图弄清楚前后的感叹号是什么意思。 import ICHING from '!json!constants/iching_deoxy.json'; 最佳答案 这是一个 inlin
我正在输入的内容: INSERT INTO reviews VALUES ('', title='dragon ball z', date='2012-12-01 23:06:03', usernam
在github的jade文档中,谈到了缓冲技术: 为了安全起见,默认情况下会对 = 缓冲的代码进行转义,但是要输出未转义的返回值,您可以使用 !=: p!= aVarContainingMoreHTM
我有两个变量用于包含或排除系统文件(使用最小匹配 glob 语法,其中 ! 代表排除)。 var systemFiles = ['node_modules/**/*', '.git/**/*']; v
我正在尝试切换键“1”和“!”使用 Karabiner,但我无法在任何地方找到感叹号的关键代码。不可能吗? 最佳答案 据我所知,! 没有唯一的键码。相反,它仅在系统接收到 Shift_R + 1 时输
在 Windows 7 上,文件夹搜索框中使用的以下查询无法过滤文件夹中带有“!”的文件。其中感叹号。 filename:! 请问有什么办法可以做这个搜索吗?谢谢。 最佳答案 在您的具体示例中 fil
我有一个带有CENTOS 6.4和WHM 11.38.2。的VPS。我刚刚将WHM更新为最新版本,现在当我转到phpMyAdmin时,在表名旁边和“查询”选项卡中“查询”一词之前,有一个带有白色感叹号
例如: http://localhost/#!/login.html 我不需要“!”。我将如何删除它? eg:http://localhost/#/login.html 这是我的路由器代码: //
https://stackoverflow.com/a/2787560/645703说: ($!) is strict function application. That is, it evalua
我已经看到它现在使用过一两次,其中 ! 标记放在属性名称之前。例如: !overflow: hidden; (还有,see here) 谁能阐明它的目的是什么? 最佳答案 我找不到任何关于它的信息,但
我已经看到它现在使用过一两次,其中 ! 标记放在属性名称之前。例如: !overflow: hidden; (还有,see here) 谁能阐明它的目的是什么? 最佳答案 我找不到任何关于它的信息,但
该程序的目标是获取用户输入并将其转换为 ascii 文本。 代码按其应有的方式工作,但不包含逗号、句点、感叹号或问号。 我尝试将:!、?、' 和逗号作为单独的列表包含在内,并尝试在输入中调用它。但我并
我有州列表,我已经添加了州名搜索过滤器。我有这样的数组: stateList : [{name: 'abc', area:500},{name: '!def', area:500}] 我有 与 ng-
让我们从正常行为开始。当我执行 Read-Host没有提示,我可以输入一个以感叹号开头的字符串: PS C:\> Read-Host | Foreach-Object { Write-Host 'En
我只是拼错了命令 git status 和 !git status 控制台显示它开始将最后克隆的存储库克隆到文件夹状态... 我的问题是,这个命令是什么意思,它有什么用途吗? 最佳答案 在 bash
这个问题在这里已经有了答案: What does an exclamation mark mean after the name of a function? (1 个回答) 关闭 2 年前。 Ju
我一直在 Magnolia code examples 中的 FreeMarker 代码末尾看到感叹号.例如: ${content.header!} 感叹号叫什么,它有什么作用? 最佳答案 感叹号称为
我环顾四周,找不到任何东西可以让我的脚本正确使用特殊字符(例如 ! 或 ; 或 ^) 在文件路径或文件名中。 我的脚本确实有效,但前提是上述字符不在任何扫描的文件夹或文件名中。如果任何文件夹或文件具有
我是一名优秀的程序员,十分优秀!