You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中单引号、双引号与反引号的区别及使用疑问

R语言单引号、双引号与反引号的区别

单引号(')与双引号(")

  • 二者功能完全一致,都是用来定义字符串的,选哪种全凭个人编码习惯。
  • 示例:
    str1 <- "我是R新手"
    str2 <- '我是R新手'
    # str1和str2完全等价
    
  • 当字符串本身包含其中一种引号时,用另一种引号包裹可以避免转义,更简洁:
    # 字符串里有单引号,用双引号包裹
    str3 <- "I'm learning R"
    # 字符串里有双引号,用单引号包裹
    str4 <- 'She said "R is fun"'
    

反引号(`)

  • 它和前两者完全不同,不是用来定义字符串的,核心作用是处理不符合R命名规则的对象名称(变量、函数、列名等)。
  • R的默认命名规则:只能以字母/下划线开头,后续可跟字母、数字、下划线,不能有空格、特殊符号,也不能是R的保留字(比如if、else、function)。反引号就是用来打破这个规则的:
    • 示例1:创建带空格的变量
      # 必须用反引号,直接写my var会报错
      `my var` <- 20
      print(`my var`) # 输出20
      
    • 示例2:用保留字当变量名
      # 直接写if <- 10会报错
      `if` <- 10
      print(`if`) # 输出10
      
    • 示例3:处理带特殊符号的列名(比如在数据框中)
      df <- data.frame(`user age` = c(18,22), `score%` = c(90,85))
      # 引用这类列名时也需要反引号
      df$`user age`
      
  • 另外在tidyverse系列包(比如dplyr)的语法中,反引号常用来引用特殊列名,避免语法错误。

内容的提问来源于stack exchange,提问作者Newbie_X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:15:36