Как исправить ошибку R: непредвиденная строковая константа


Одна распространенная ошибка, с которой вы можете столкнуться в 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:

Как исправить: объект (список) нельзя заставить ввести «двойной»
Как исправить в R: неверная формула модели в ExtractVars
Как исправить в R: замена имеет нулевую длину