使用readr_0.1.1
读取带有缺少字段名称的.csv文件时,名称会自动设置为[EMPTY]
:
library("readr")
library("dplyr")
df <- read_csv(",foo\n1,bar")
> names(df)
[1] "[EMPTY]" "foo"
我正在尝试使用"[EMPTY]"
重命名dplyr_0.4.2
但我无法找到正确的解决方案。
我试过了:
> rename(df, baz = [EMPTY])
Error: unexpected '[' in "rename(df, baz = ["
> rename_(df, "baz" = "[EMPTY]")
Error in parse(text = x) : <text>:1:1: unexpected '['
1: [
^
这样做的正确方法是什么?
答案 0 :(得分:4)
您可以使用
dplyr::rename(df, baz = `[EMPTY]`)
我们正在使用反引号,而不是引号,因为我们指的是非标准变量名称&#34;例如:
df$`[EMPTY]`
来自?Quotes
标识符包含一系列字母,数字,句点(。) 和下划线。它们不能以数字或下划线开头, 也没有一个句号后跟一个数字。保留字无效 标识符
字母的定义取决于当前的区域设置,但仅限于 ASCII数字被认为是数字。
这种标识符也称为句法名称,可以使用 直接在R代码中。几乎总是,可以使用其他名称 他们被引用了。首选引号是反引号(`)和deparse 通常会使用它,但在许多情况下单或双 可以使用引号(因为字符常量通常会转换为 一个名字)。