#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) Этот код работает для меня.