到目前为止我所知道的...
1)在创建带有非语法变量/列名称的小标题时使用反引号,该变量/列名称包含数字,空格或其他符号(因为通常您只能用字母对列命名吗?)
tb <- tibble(
': ) ' = "smile, ' ' = "space",
'2000' = "number", "double_quotes" = "normal_text")
但是,当我在此处使用双引号时,仍会形成带有非语法符号/数字的小标题。
2)使用双括号时,双引号用于子集列名。
tb[["double_quotes"]]
并且在这里,当我使用单引号作为子集时,它仍然可以正常工作。
3)当使用$进行子集化以选择非语法名称时,我必须使用单引号,但是在这里,如果我使用双引号进行子集设置,也可以使用
同样,tb$": )"
和tb$': )'
一样好>
那么它们是否可以有效互换?
有趣的是,当我绘制图形时
”,因为否则,ggplot看起来ggplot将X和Y分别视为1和2的单点。还有其他类似情况吗?annoying <- tibble( `1` = 1:10, `2` = `1` * 2 + rnorm(length(`1`)) ) ggplot(annoying, aes(x = `1`, y = `2`)) + geom_point()
引用非语法变量时,使用单引号必须
到目前为止,我所知道的... 1)在创建带有非语法变量/列名称的小标题时使用反引号,该变量/列名称包含数字,空格或其他符号(因为通常只能命名列...
区分单引号(')和反引号(或“反单引号”)(`)很重要。