你在R中可能遇到的一个常见错误是:
Error: unexpected string constant in...
当你在R中使用引号的位置不正确时,就会出现这个错误。
下面的三个例子说明了在不同的情况下会出现这种错误。
例1:导入文件时出现意外的字符串常数
假设我们试图在R语言中导入一个以冒号为分隔符的文件作为一个数据框架。
#attempt to import colon-delimited file
read.csv("C:\\Users\\Bob\\data.csv", sep";")
Error: unexpected string constant in "read.csv("C:\\Users\\Bob\\data.csv", sep";""
我们收到一个错误,因为我们忘了在sep参数后面加上一个等号。
如果我们加上一个等号,我们就能解决这个错误:
#import colon-delimited file
read.csv("C:\\Users\\Bob\\data.csv", sep=";")
team points
1 A 4
2 B 9
3 C 9
4 D 8
5 E 6
例2:查看数据时出现意外的字符串常数
假设我们试图查看一个向量中的数值:
#create numeric vector of values
data <- c(4, 4, 5, 6, 8, 10, 13, 15, 19, 18)
#attempt to view values
data""
Error: unexpected string constant in "data"""
我们收到了一个错误,因为我们不小心在向量名称后面加上了引号。
如果我们简单地去掉这些引号,就可以解决这个错误:
#create numeric vector of values
data <- c(4, 4, 5, 6, 8, 10, 13, 15, 19, 18)
#view values
data
[1] 4 4 5 6 8 10 13 15 19 18
例3:创建图时出现意外的字符串常数
假设我们试图查看一个向量中的数值:
#create numeric vector of values
data <- c(3, 3, 4, 5, 5, 7, 8, 12, 15, 16, 17, 19, 22, 25)
#attempt to create boxplot to visualize distribution of values
boxplot(data, col'steelblue')
Error: unexpected string constant in "boxplot(data, col'steelblue'"
我们收到了一个错误,因为我们忘记在col参数后面加上一个等号。
如果我们简单地加上一个等号,我们就能解决这个错误:
#create numeric vector of values
data <- c(3, 3, 4, 5, 5, 7, 8, 12, 15, 16, 17, 19, 22, 25)
#create boxplot to visualize distribution of values
boxplot(data, col='steelblue')
意外的字符串常数错误可能发生在许多不同的情况下,但这三个例子说明了它可能发生的常见情况。
其他资源
下面的教程解释了如何修复R中的其他常见错误:
如何修复:(列表)对象不能被胁迫为'double'类型
如何在R中修复:ExtractVars中的无效模型公式
如何在R中修复:替换的长度为零