Как исправить в R: неверная (do_set) левая часть присваивания


Одно сообщение об ошибке, с которым вы можете столкнуться при использовании R:

Error in 5 <- read.table("data.txt") : 
 invalid (do_set) left-hand side to assignment

Эта ошибка возникает, когда вы пытаетесь создать переменную в R, начинающуюся с числа.

По умолчанию R позволяет вам определять только имена переменных, которые начинаются либо с символа, либо с точки.

В следующем примере показано, как устранить эту ошибку на практике.

Как воспроизвести ошибку

Предположим, я пытаюсь использовать функцию read.table() для чтения файла в R:

#attempt to read text file into R
5 <- read.table (" data.txt ")

Error in 5 <- read.table("data.txt") : 
 invalid (do_set) left-hand side to assignment

Я получаю сообщение об ошибке, потому что я попытался создать имя переменной, начинающееся с числа.

Как избежать ошибки

Чтобы избежать ошибки, я должен использовать имя переменной, начинающееся с символа или точки.

Например, я мог бы использовать следующее имя переменной, начинающееся с символа:

#read text file into R
data5 <- read.table (" data.txt ")

#view contents of text file
data5

 V1 V2
1 1 4
2 3 4
3 2 5
4 7 9
5 9 1
6 6 3
7 4 4

Или я мог бы даже использовать следующее имя переменной, начинающееся с точки:

#read text file into R
.data5 <- read.table (" data.txt ")

#view contents of text file
.data5

 V1 V2
1 1 4
2 3 4
3 2 5
4 7 9
5 9 1
6 6 3
7 4 4

И снова я не получаю сообщение об ошибке, потому что я не начал имя переменной с символа.

Обратите внимание, что вы можете ввести в R следующее, чтобы прочитать полную документацию о том, как создавать синтаксически допустимые имена:

?make.names

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:

Как исправить в R: аргументы подразумевают разное количество строк
Как исправить в R: ошибка выбора неиспользуемых аргументов
Как исправить в R: замена имеет нулевую длину

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.