Как специализировать точечные участки в r? - PullRequest
0 голосов
/ 14 октября 2019

Прежде всего, когда я попытался нарисовать линию регрессии, произошла ошибка.

У меня есть два данных для сравнения;

dismax<-list(1.14, 2.281, 2.825, 2.965) 
normax<-list(1.8, 2, 2.4, 2.6)

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

plot(normax, dismax, main="Minute Max.",
       xlab="Historical Values ", ylab="Disaggregated Values", pch=19)

Затем я попытался нарисовать линию регрессии с помощью этого кода;

abline(lm(normax~dismax), col="red")

И произошла ошибка;

Ошибка в model.frame.default (формула = normax ~ dismax, drop.unused.levels = TRUE): недопустимый тип (список) для переменной 'normax'

Как мне решить эту проблему?


И второй вопрос;Как вы увидите, ось X оканчивается на 2,6, а ось Y оканчивается на 3,0

Но я хочу, чтобы обе оси заканчивались одинаковым номером. Напримересли макс. значение в списках (dismax, normax) равно 3, тогда я хочу видеть «3» для обеих осей. Другими словами, моя диаграмма должна быть квадратной.

1 Ответ

0 голосов
/ 14 октября 2019

Во-первых, lm ищет векторы, а не списки, поэтому начните с

dismax<-c(1.14, 2.281, 2.825, 2.965) 
normax<-c(1.8, 2, 2.4, 2.6)

Чтобы получить нужные метки оси, попробуйте asp=1

plot(normax, dismax, main="Minute Max.", asp=1,
       xlab="Historical Values ", ylab="Disaggregated Values", pch=19)
abline(lm(normax~dismax), col="red")

Plot with regression line

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...