Добавить линию к графику для закона Ципфа

#r

#r

Вопрос:

Я совсем новичок, использующий R. Я получил огромное количество данных из своего исследования. Теперь я хочу создать график, который показывает, соответствуют ли данные закону Ципфа.

Это команда, которую я использую до сих пор:

 plot(data, log="y", type="l", main="Zipf",ylab="frequency", xlab="tag index")
  

Это уже дает мне хороший график, однако теперь я хочу добавить прямую линию, чтобы указать, какая часть графика соответствует закону Ципфа. Я попробовал несколько команд, но ничего не получилось, может кто-нибудь, пожалуйста, объяснить, как я могу заставить это работать?

Комментарии:

1. Поскольку вы не предоставляете ни одной из команд, которые вы уже пробовали, мы не знаем, пробовали ли вы уже такую команду, как abline .

2. Я использовал abline(a = coef(data), b = 0, col = "blue") , но это выдает ошибку, поскольку я не знаю, как правильно использовать команды.

3. Мы не знаем, что data такое. Что abline(coef=coef(data), col='blue') дает?

Ответ №1:

Вы можете добавить строку с помощью командной строки. Если вам нужно добавить горизонтальную линию, используйте аргумент ‘h’, а для вертикальной линии используйте ‘v’. Например, если вам нужно добавить вертикальную линию при значении оси x = 5, код будет:

 plot(data, log="y", type="l", main="Zipf",ylab="frequency", xlab="tag index")
abline(v = 5)
  

Если вы хотите добавить наклонную линию, то получите уравнение линии в виде y = mx c. В этом ‘m’ называется наклоном, а ‘c’ называется перехватом. таким образом, ваш код будет.

 plot(data, log="y", type="l", main="Zipf",ylab="frequency", xlab="tag index")
    abline(a=c,b=m)
  

Комментарии:

1. Хорошо, спасибо, я разберусь с этой наклонной линией и свяжусь с вами, когда столкнусь с проблемой или когда она решит мою проблему.

2. когда, например, я набираю abline(a=-1,b=1) , я не получаю ошибок, но он не показывает ни одной строки??

3. @RazorAlliance192 если она не входит в диапазоны вашего графика, это нормально.

4. x<-rnorm(10) y<-rnorm (10) построить график (x, y) abline(-1,1) Этот код работает для меня.