Я получил сообщение об ошибке:
Ошибка: объект 'x' не найден
Или более сложная версия, например
Ошибка в среднем (x): ошибка при оценке аргумента 'x' при выборе метода для функции 'mean': Ошибка: объект 'x' не найден
Что это значит?
Я получил сообщение об ошибке:
Ошибка: объект 'x' не найден
Или более сложная версия, например
Ошибка в среднем (x): ошибка при оценке аргумента 'x' при выборе метода для функции 'mean': Ошибка: объект 'x' не найден
Что это значит?
Ошибка означает, что R не может найти переменную, указанную в сообщении об ошибке.
Самый простой способ воспроизвести ошибку - ввести имя переменной, которая не существует. (Если вы уже определили x
, используйте другое имя переменной.)
x
## Error: object 'x' not found
Более сложная версия ошибки имеет ту же причину: вызов функции, когда x
не существует.
mean(x)
## Error in mean(x) :
## error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'x' not found
Как только переменная определена, ошибка не будет выполнена.
x <- 1:5
x
## [1] 1 2 3 4 5
mean(x)
## [1] 3
Вы можете проверить, существует ли переменная с помощью ls
или exists
.
ls() # lists all the variables that have been defined
exists("x") # returns TRUE or FALSE, depending upon whether x has been defined.
Ошибки, подобные этому, могут возникать при использовании нестандартной оценки. Например, при использовании subset
ошибка возникает, если имя столбца отсутствует в фрейме данных для подмножества.
d <- data.frame(a = rnorm(5))
subset(d, b > 0)
## Error in eval(expr, envir, enclos) : object 'b' not found
Ошибка также может возникнуть, если вы используете пользовательскую оценку.
get("var", "package:stats") #returns the var function
get("var", "package:utils")
## Error in get("var", "package:utils") : object 'var' not found
Во втором случае функция var
не может быть найдена, когда R выглядит в среде пакета utils
, поскольку utils
далее вниз search
, чем stats
.
В более сложных случаях использования вы можете прочитать:
Давайте обсудим, почему ошибка "объект не найден" может быть выбрана в R в дополнение к объяснению того, что это значит. То, что это означает (для многих), очевидно: рассматриваемая переменная, по крайней мере, в соответствии с интерпретатором R, еще не определена, но если вы видите свой объект в коде, может быть несколько причин, почему это происходит:/p >
проверить синтаксис ваших объявлений. Если вы неверно набрали хотя бы одну букву или использовали верхний регистр вместо нижнего регистра в более позднем операторе вызова, то он не будет соответствовать вашему первоначальному объявлению, и эта ошибка произойдет.
Вы получаете эту ошибку в записной книжке или документе уценки? Вам может просто потребоваться перезапустить предыдущую ячейку с вашими объявлениями, прежде чем запускать текущую ячейку, в которой вы вызываете переменную.
Вы пытаетесь связать свой R-документ, и переменная работает, когда вы запускаете ячейки, а не когда вы вязаете ячейки? Если это так - тогда вы хотите изучить сниппет, который я предоставляю ниже, для возможного побочного эффекта, который вызывает эту ошибку:
{r sourceDataProb1, echo=F, eval=F}
# some code here
Вышеприведенный фрагмент с начала ячейки метки R. Если eval и echo установлены в False, это может вызвать ошибку при попытке вязать документ. Прояснить. У меня был случай использования, когда я оставил эти флаги как False, потому что я думал, что не хочу, чтобы мой код повторялся или его результаты отображались в HTML-методе, который я генерировал. Но так как переменная затем использовалась в более поздних ячейках, это вызывало ошибку во время вязания. Простая пробная версия и ошибка с флагами T/F TRUE/FALSE могут установить, является ли это источником вашей ошибки, когда это происходит при вставке документа R markdown из RStudio.
Наконец: удалили ли вы эту переменную или очистили ее из памяти после ее объявления?