Линия, проходящая через одну точку в программном обеспечении R - PullRequest
0 голосов
/ 02 июля 2019

Я новичок в R .

Я пытаюсь нарисовать квадрат и линию через точку.Это код, который я написал ...

plot(c(0, 2), c(0, 2), main="abc", type= "n", xlab = "x", ylab = "y")
rect(0, 0, 1, 1, col=2) #square

m = runif(1, min=0, max=1) #angular coefficient
myLine <- function(x) m*(x-0.5)+0.5 # y = m*(x-0.5)+0.5 --> line through (0.5,0.5)

plot(myLine) #draw myLine

... но он не работает.Не могли бы вы объяснить мне, какие ошибки я допустил?

Заранее спасибо

1 Ответ

1 голос
/ 02 июля 2019

Когда вы звоните plot(), R обычно создает новый сюжет; он не добавляет его к существующему графику по умолчанию. Есть другие функции, такие как points(), lines() и curve(), которые будут рисовать на существующем графике.

Поскольку вы пытаетесь добавить функцию, вам нужно будет использовать curve(), чтобы нарисовать ту функцию myLine, которую вы создали. (Если вместо этого вы хотите произвольно выбрать точку пересечения и уклон, вы можете использовать вместо этого функцию abline()). Но используя вашу существующую функцию, код должен выглядеть примерно так:

plot(c(0, 2), c(0, 2), main="abc", type= "n", xlab = "x", ylab = "y")
rect(0, 0, 1, 1, col=2) #square

m <- runif(1, min=0, max=1) #angular coefficient
myLine <- function(x) m*(x-0.5)+0.5 # y = m*(x-0.5)+0.5 --> line through (0.5,0.5)

curve(myLine, add=TRUE) #draw myLine

что дает мне следующий сюжет

square with random line

...