在 R 中的 count.fields 函数中 quote = " " 是什么意思?



我不明白quote="的意思"或引号="\"'"在count.fields函数中。有人能解释一下报价字段的用途以及报价字段的上述两个值之间的区别吗?

考虑文本文件

one two
'three four'
"file six"
seven "eight nine"

我们可以用创建

lines <- c(
"one two",
"'three four'",
""file six"",
"seven "eight nine"")
writeLines(lines, "test.txt")

quote=参数使R知道文件中哪些字符可以以引号开头/结尾。我们可以通过设置quote=""来忽略所有引号。这样我们就能看到

count.fields("test.txt", quote="")
# [1] 2 2 2 3

因此,它将空间解释为开始新的字段,每个单词都是它自己的字段。如果您的字段中包含除创建字符串之外的其他内容的引号,那么这可能会很有用。例如姓氏如o'Brian和测量值如5'6"。如果我们只说双引号开始字符串值,我们得到

count.fields("test.txt", quote=""")
# [1] 2 2 1 2

所以这里的前两行是相同的,但第3行被认为只有一个值。引号之间的空格不会启动新字段。

默认情况是使用双引号或单引号,以提供

count.fields("test.txt")
# [1] 2 1 1 2

所以现在第二行和第三行一样被处理为只有一个值

cat通常是一种很好的方式,可以在引号中包含引号时显示您正在处理的内容。

> cat("Nothing:", "", "n")
Nothing:  
> cat("Something:", ""'", "n")
Something: "' 

quote=""的第一个示例是指定文件中没有引号
quote=""'"的第二个示例指定您有"'作为潜在的引用字段。

反斜杠用于"转义"以下字符,因此"实际上被视为",而不是过早地关闭quote=的参数。

最新更新