在 R 中使用双引号 (" ")
Usage of double quotes (" ") in R
我是 R 的完全初学者,现在我正在学习使用基础知识。
我想知道 R 中双引号 ("") 的功能是什么:什么时候必须使用它,什么时候不用?例如:当使用 library() 时你需要它们,但是当使用诸如 glimpse() 之类的函数来快速浏览数据集时,双引号 ("") 实际上会干扰 glimpse() 的功能;包含双引号时您看不到数据集。
TLDR:
我不知道双引号(“”)在 R 中实际上做了什么,除了“它创建一个字符串”之外我找不到初学者级别的解释。
提前致谢!
嗯,它有点复杂,但最简单的答案是它通常用于表示字符(字母等)与数值。例如,我会在没有引号的情况下编写这个对象:
x <- 5
但我不会这样做:
x <- cat
这是因为 R 将普通文本识别为函数或对象,因此您必须指定一个唯一的限定符才能让 R 读取它,如下所示:
x <- "cat"
然而,这不是 R 中引号的 end-all。有时它可能是特定于包的,例如 ggpubr:
ggboxplot(data = df,
x = "Work_Day",
y = "Minutes"
所以简短的回答是,这通常与 R 了解您对角色所做的事情有关。否则,它会将事物读取为环境中不是您指定的其他事物。举个很好的例子,我刚才给cat的例子其实是一个叫cat
的函数,用来打印对象
在向绝对初学者解释这些概念时,我喜欢用一些通俗易懂的方式来解释它。它容易理解但不完全准确。但是对于初学者来说,记住什么时候使用引号,什么时候不使用引号就足够了。
当我们使用引号 ""
时,我们是在告诉 R
它是一个字符串,所以某些 R
本身并不知道。例如,当我们安装新包时,我们使用引号 install.packages("dplyr")
,因为在这种情况下,R
本身并不知道您要安装什么包。但是在我们安装包之后,R
知道它是什么,所以我们可以简单地使用不带引号的 library(dplyr)
。
另一个例子是加载文件。例如,您有一个要在 R
中打开的 CSV 文件,R
本身并不知道您要导入哪个文件,因此我们需要像 df <- read_table(file = "tell/R/your/file/location.csv")
中那样的引号。但是在您将 R
中的 CSV 保存在名为 df
的对象中之后,我们不再需要使用双引号,因为 R
已经知道它是什么了。
再举一个双引号的例子。我们在创建字符串的时候,需要用双引号来告诉 R
它不是数字,而是字符。例如,当你导入这样的数字时phone_number <- "+1876543234"
,你是在告诉R
,嘿,不要把这串东西当作数字,它们没有任何数值!这是有道理的,因为你不希望 R
对 phone 数字进行任何算术运算,否则它会搞砸一切。
另一方面,当 R
某种“固有地”知道您指定的内容时,您不需要双引号。例如上面提到的数值和逻辑值(TRUE 或 FALSE)。此外,在将保存的 R
对象作为输入的函数中,您也不需要双引号,例如 ggsave(filename = "hey/R/save/the/plot/here.png", plot = p1, width = 10, limitsize = TRUE)
。您不需要引号,因为它们已经保存为 R
对象 (p1
),或者它们是数字 (width = 10
),或者它们是逻辑的 (limitsize = TRUE
) .但是您需要在文件名上加上引号,因为 R
不知道您要将输出保存在计算机上的什么位置。
希望你在这之后对报价有更好的理解。但请记住,这仅适用于初学者,当您更喜欢 R
.
时,您会发现例外情况。
我是 R 的完全初学者,现在我正在学习使用基础知识。 我想知道 R 中双引号 ("") 的功能是什么:什么时候必须使用它,什么时候不用?例如:当使用 library() 时你需要它们,但是当使用诸如 glimpse() 之类的函数来快速浏览数据集时,双引号 ("") 实际上会干扰 glimpse() 的功能;包含双引号时您看不到数据集。
TLDR: 我不知道双引号(“”)在 R 中实际上做了什么,除了“它创建一个字符串”之外我找不到初学者级别的解释。
提前致谢!
嗯,它有点复杂,但最简单的答案是它通常用于表示字符(字母等)与数值。例如,我会在没有引号的情况下编写这个对象:
x <- 5
但我不会这样做:
x <- cat
这是因为 R 将普通文本识别为函数或对象,因此您必须指定一个唯一的限定符才能让 R 读取它,如下所示:
x <- "cat"
然而,这不是 R 中引号的 end-all。有时它可能是特定于包的,例如 ggpubr:
ggboxplot(data = df,
x = "Work_Day",
y = "Minutes"
所以简短的回答是,这通常与 R 了解您对角色所做的事情有关。否则,它会将事物读取为环境中不是您指定的其他事物。举个很好的例子,我刚才给cat的例子其实是一个叫cat
的函数,用来打印对象
在向绝对初学者解释这些概念时,我喜欢用一些通俗易懂的方式来解释它。它容易理解但不完全准确。但是对于初学者来说,记住什么时候使用引号,什么时候不使用引号就足够了。
当我们使用引号 ""
时,我们是在告诉 R
它是一个字符串,所以某些 R
本身并不知道。例如,当我们安装新包时,我们使用引号 install.packages("dplyr")
,因为在这种情况下,R
本身并不知道您要安装什么包。但是在我们安装包之后,R
知道它是什么,所以我们可以简单地使用不带引号的 library(dplyr)
。
另一个例子是加载文件。例如,您有一个要在 R
中打开的 CSV 文件,R
本身并不知道您要导入哪个文件,因此我们需要像 df <- read_table(file = "tell/R/your/file/location.csv")
中那样的引号。但是在您将 R
中的 CSV 保存在名为 df
的对象中之后,我们不再需要使用双引号,因为 R
已经知道它是什么了。
再举一个双引号的例子。我们在创建字符串的时候,需要用双引号来告诉 R
它不是数字,而是字符。例如,当你导入这样的数字时phone_number <- "+1876543234"
,你是在告诉R
,嘿,不要把这串东西当作数字,它们没有任何数值!这是有道理的,因为你不希望 R
对 phone 数字进行任何算术运算,否则它会搞砸一切。
另一方面,当 R
某种“固有地”知道您指定的内容时,您不需要双引号。例如上面提到的数值和逻辑值(TRUE 或 FALSE)。此外,在将保存的 R
对象作为输入的函数中,您也不需要双引号,例如 ggsave(filename = "hey/R/save/the/plot/here.png", plot = p1, width = 10, limitsize = TRUE)
。您不需要引号,因为它们已经保存为 R
对象 (p1
),或者它们是数字 (width = 10
),或者它们是逻辑的 (limitsize = TRUE
) .但是您需要在文件名上加上引号,因为 R
不知道您要将输出保存在计算机上的什么位置。
希望你在这之后对报价有更好的理解。但请记住,这仅适用于初学者,当您更喜欢 R
.