2017-02-22 41 views
0

Я хочу преобразовать свои данные в R с помощью логарифма и хочу построить его с помощью qqplot. Я получил предупреждающее сообщение, см. Ниже. Что это значит для сюжета?R: Преобразование данных с сообщением log10 qqline условие имеет длину> 1, и будет использоваться только первый элемент

log <-log10(life$p) 
qqplot(life$p,log, main = "Normal Q-Q Plot",plot.it = TRUE) 
qqline(life$p,log, col="red") 

предупреждающее сообщение было:

В случае (Datax) {:
условие имеет длину> 1 и будет использоваться только первый элемент

ответ

0

Там, кажется, здесь должно быть несколько вещей.

Ваш звонок qqplot почти наверняка не делает то, что вы хотели. Обратите внимание, что документация ?qqplot говорит:

qqplot производит QQ сюжет из двух наборов данных.

Ваш код:
qqplot(life$p,log, main = "Normal Q-Q Plot",plot.it = TRUE)
«Два набора данных», что вы даете его в жизни $ р и войти, так это будет сюжет квантилей жизни Фра против квантилей лога = log10 (жизнь $ р). Это бессмысленно. Поскольку ваш заголовок говорит «Обычный Q-Q-график», я подозреваю, что вы захотели построить лог против нормального распределения. Чтобы получить это, вы, возможно, захотите:
qqnorm(log, main = "Normal Q-Q Plot")

Теперь к вашему сообщению об ошибке.
Документация qqline дает последовательность аргументов, как:

qqline(y, datax = FALSE, distribution = qnorm, 
     probs = c(0.25, 0.75), qtype = 7, ...) 

Ваш вызов этой функции:

qqline(life$p,log, col="red") 

Вы не назвать аргументы, чтобы они интерпретируются в порядке. life $ p is y, а log - datax. Предполагается, что datax является логическим значением (TRUE/FALSE), но вы передаете ему массив чисел, , следовательно, сообщение об ошибке. Я считаю, что вы хотели было:

qqline(log, col="red") 

Наконец, log это имя естественной функции логарифма. Плохая идея назвать вашу переменную log, так как она будет запутанной, если это относится к функции или переменной.

 Смежные вопросы

  • Нет связанных вопросов^_^