library(tidyverse)
## ── Attaching packages ───────────
## ✓ ggplot2 3.3.1     ✓ purrr   0.3.4
## ✓ tibble  3.0.1     ✓ dplyr   1.0.0
## ✓ tidyr   1.1.0     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## ── Conflicts ────────────────────
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

1. Graficando asíntotas de una función

Definimos un dominio x para nuestras funciones

x<-seq(-5, 5, 0.1)
x
##   [1] -5.0 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4.0 -3.9 -3.8 -3.7 -3.6
##  [16] -3.5 -3.4 -3.3 -3.2 -3.1 -3.0 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1
##  [31] -2.0 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1.0 -0.9 -0.8 -0.7 -0.6
##  [46] -0.5 -0.4 -0.3 -0.2 -0.1  0.0  0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9
##  [61]  1.0  1.1  1.2  1.3  1.4  1.5  1.6  1.7  1.8  1.9  2.0  2.1  2.2  2.3  2.4
##  [76]  2.5  2.6  2.7  2.8  2.9  3.0  3.1  3.2  3.3  3.4  3.5  3.6  3.7  3.8  3.9
##  [91]  4.0  4.1  4.2  4.3  4.4  4.5  4.6  4.7  4.8  4.9  5.0

Definimos f(x): f(x)=1/x

fx<-1/x
fx
##   [1]  -0.2000000  -0.2040816  -0.2083333  -0.2127660  -0.2173913  -0.2222222
##   [7]  -0.2272727  -0.2325581  -0.2380952  -0.2439024  -0.2500000  -0.2564103
##  [13]  -0.2631579  -0.2702703  -0.2777778  -0.2857143  -0.2941176  -0.3030303
##  [19]  -0.3125000  -0.3225806  -0.3333333  -0.3448276  -0.3571429  -0.3703704
##  [25]  -0.3846154  -0.4000000  -0.4166667  -0.4347826  -0.4545455  -0.4761905
##  [31]  -0.5000000  -0.5263158  -0.5555556  -0.5882353  -0.6250000  -0.6666667
##  [37]  -0.7142857  -0.7692308  -0.8333333  -0.9090909  -1.0000000  -1.1111111
##  [43]  -1.2500000  -1.4285714  -1.6666667  -2.0000000  -2.5000000  -3.3333333
##  [49]  -5.0000000 -10.0000000         Inf  10.0000000   5.0000000   3.3333333
##  [55]   2.5000000   2.0000000   1.6666667   1.4285714   1.2500000   1.1111111
##  [61]   1.0000000   0.9090909   0.8333333   0.7692308   0.7142857   0.6666667
##  [67]   0.6250000   0.5882353   0.5555556   0.5263158   0.5000000   0.4761905
##  [73]   0.4545455   0.4347826   0.4166667   0.4000000   0.3846154   0.3703704
##  [79]   0.3571429   0.3448276   0.3333333   0.3225806   0.3125000   0.3030303
##  [85]   0.2941176   0.2857143   0.2777778   0.2702703   0.2631579   0.2564103
##  [91]   0.2500000   0.2439024   0.2380952   0.2325581   0.2272727   0.2222222
##  [97]   0.2173913   0.2127660   0.2083333   0.2040816   0.2000000

Graficando f(x):

plot(x,fx, type="o", col = "darkgreen")

Graficando las asíntotas de f(x):

plot(x,fx, type="o", col = "darkgreen") + abline(h = 0, v = 0, col = "red")

## integer(0)

Definimos g(x): g(x)=(2*x^2)/(x^2-4)

gx<-(2*x^2)/(x^2-4)
gx
##   [1]   2.380952381   2.399800100   2.420168067   2.442233278   2.466200466
##   [6]   2.492307692   2.520833333   2.552104900   2.586510264   2.624512100
##  [11]   2.666666667   2.713648528   2.766283525   2.825593395   2.892857143
##  [16]   2.969696970   3.058201058   3.161103048   3.282051282   3.426024955
##  [21]   3.600000000   3.814058957   4.083333333   4.431610942   4.898550725
##  [26]   5.555555556   6.545454545   8.201550388  11.523809524  21.512195122
##  [31]           Inf -18.512820513  -8.526315789  -5.207207207  -3.555555556
##  [36]  -2.571428571  -1.921568627  -1.463203463  -1.125000000  -0.867383513
##  [41]  -0.666666667  -0.507836991  -0.380952381  -0.279202279  -0.197802198
##  [46]  -0.133333333  -0.083333333  -0.046035806  -0.020202020  -0.005012531
##  [51]   0.000000000  -0.005012531  -0.020202020  -0.046035806  -0.083333333
##  [56]  -0.133333333  -0.197802198  -0.279202279  -0.380952381  -0.507836991
##  [61]  -0.666666667  -0.867383513  -1.125000000  -1.463203463  -1.921568627
##  [66]  -2.571428571  -3.555555556  -5.207207207  -8.526315789 -18.512820513
##  [71]           Inf  21.512195122  11.523809524   8.201550388   6.545454545
##  [76]   5.555555556   4.898550725   4.431610942   4.083333333   3.814058957
##  [81]   3.600000000   3.426024955   3.282051282   3.161103048   3.058201058
##  [86]   2.969696970   2.892857143   2.825593395   2.766283525   2.713648528
##  [91]   2.666666667   2.624512100   2.586510264   2.552104900   2.520833333
##  [96]   2.492307692   2.466200466   2.442233278   2.420168067   2.399800100
## [101]   2.380952381

Graficando g(x):

plot(x,gx, type="o", col = "blue")

Graficando las asíntotas de g(x):

plot(x,gx, type="o", col = "blue") + abline(h = 1, v = c(-2,2), col = "red")

## integer(0)

Definimos h(x): h(x)=f(x)/g(x)

hx<-gx/fx
hx
##   [1] -1.190476e+01 -1.175902e+01 -1.161681e+01 -1.147850e+01 -1.134452e+01
##   [6] -1.121538e+01 -1.109167e+01 -1.097405e+01 -1.086334e+01 -1.076050e+01
##  [11] -1.066667e+01 -1.058323e+01 -1.051188e+01 -1.045470e+01 -1.041429e+01
##  [16] -1.039394e+01 -1.039788e+01 -1.043164e+01 -1.050256e+01 -1.062068e+01
##  [21] -1.080000e+01 -1.106077e+01 -1.143333e+01 -1.196535e+01 -1.273623e+01
##  [26] -1.388889e+01 -1.570909e+01 -1.886357e+01 -2.535238e+01 -4.517561e+01
##  [31]          -Inf  3.517436e+01  1.534737e+01  8.852252e+00  5.688889e+00
##  [36]  3.857143e+00  2.690196e+00  1.902165e+00  1.350000e+00  9.541219e-01
##  [41]  6.666667e-01  4.570533e-01  3.047619e-01  1.954416e-01  1.186813e-01
##  [46]  6.666667e-02  3.333333e-02  1.381074e-02  4.040404e-03  5.012531e-04
##  [51]  0.000000e+00 -5.012531e-04 -4.040404e-03 -1.381074e-02 -3.333333e-02
##  [56] -6.666667e-02 -1.186813e-01 -1.954416e-01 -3.047619e-01 -4.570533e-01
##  [61] -6.666667e-01 -9.541219e-01 -1.350000e+00 -1.902165e+00 -2.690196e+00
##  [66] -3.857143e+00 -5.688889e+00 -8.852252e+00 -1.534737e+01 -3.517436e+01
##  [71]           Inf  4.517561e+01  2.535238e+01  1.886357e+01  1.570909e+01
##  [76]  1.388889e+01  1.273623e+01  1.196535e+01  1.143333e+01  1.106077e+01
##  [81]  1.080000e+01  1.062068e+01  1.050256e+01  1.043164e+01  1.039788e+01
##  [86]  1.039394e+01  1.041429e+01  1.045470e+01  1.051188e+01  1.058323e+01
##  [91]  1.066667e+01  1.076050e+01  1.086334e+01  1.097405e+01  1.109167e+01
##  [96]  1.121538e+01  1.134452e+01  1.147850e+01  1.161681e+01  1.175902e+01
## [101]  1.190476e+01

Graficando h(x):

plot(x,hx, type="o", col = "purple")

Graficando las asíntotas de h(x):

plot(x,hx, type="o", col = "purple") + abline(v = c(-2,2), col = "red")

## integer(0)

2. Graficando con ggplot2

Creando un data.frame con nuestras variables:

datos<-data.frame(x,fx,gx,hx)
datos
##        x          fx            gx            hx
## 1   -5.0  -0.2000000   2.380952381 -1.190476e+01
## 2   -4.9  -0.2040816   2.399800100 -1.175902e+01
## 3   -4.8  -0.2083333   2.420168067 -1.161681e+01
## 4   -4.7  -0.2127660   2.442233278 -1.147850e+01
## 5   -4.6  -0.2173913   2.466200466 -1.134452e+01
## 6   -4.5  -0.2222222   2.492307692 -1.121538e+01
## 7   -4.4  -0.2272727   2.520833333 -1.109167e+01
## 8   -4.3  -0.2325581   2.552104900 -1.097405e+01
## 9   -4.2  -0.2380952   2.586510264 -1.086334e+01
## 10  -4.1  -0.2439024   2.624512100 -1.076050e+01
## 11  -4.0  -0.2500000   2.666666667 -1.066667e+01
## 12  -3.9  -0.2564103   2.713648528 -1.058323e+01
## 13  -3.8  -0.2631579   2.766283525 -1.051188e+01
## 14  -3.7  -0.2702703   2.825593395 -1.045470e+01
## 15  -3.6  -0.2777778   2.892857143 -1.041429e+01
## 16  -3.5  -0.2857143   2.969696970 -1.039394e+01
## 17  -3.4  -0.2941176   3.058201058 -1.039788e+01
## 18  -3.3  -0.3030303   3.161103048 -1.043164e+01
## 19  -3.2  -0.3125000   3.282051282 -1.050256e+01
## 20  -3.1  -0.3225806   3.426024955 -1.062068e+01
## 21  -3.0  -0.3333333   3.600000000 -1.080000e+01
## 22  -2.9  -0.3448276   3.814058957 -1.106077e+01
## 23  -2.8  -0.3571429   4.083333333 -1.143333e+01
## 24  -2.7  -0.3703704   4.431610942 -1.196535e+01
## 25  -2.6  -0.3846154   4.898550725 -1.273623e+01
## 26  -2.5  -0.4000000   5.555555556 -1.388889e+01
## 27  -2.4  -0.4166667   6.545454545 -1.570909e+01
## 28  -2.3  -0.4347826   8.201550388 -1.886357e+01
## 29  -2.2  -0.4545455  11.523809524 -2.535238e+01
## 30  -2.1  -0.4761905  21.512195122 -4.517561e+01
## 31  -2.0  -0.5000000           Inf          -Inf
## 32  -1.9  -0.5263158 -18.512820513  3.517436e+01
## 33  -1.8  -0.5555556  -8.526315789  1.534737e+01
## 34  -1.7  -0.5882353  -5.207207207  8.852252e+00
## 35  -1.6  -0.6250000  -3.555555556  5.688889e+00
## 36  -1.5  -0.6666667  -2.571428571  3.857143e+00
## 37  -1.4  -0.7142857  -1.921568627  2.690196e+00
## 38  -1.3  -0.7692308  -1.463203463  1.902165e+00
## 39  -1.2  -0.8333333  -1.125000000  1.350000e+00
## 40  -1.1  -0.9090909  -0.867383513  9.541219e-01
## 41  -1.0  -1.0000000  -0.666666667  6.666667e-01
## 42  -0.9  -1.1111111  -0.507836991  4.570533e-01
## 43  -0.8  -1.2500000  -0.380952381  3.047619e-01
## 44  -0.7  -1.4285714  -0.279202279  1.954416e-01
## 45  -0.6  -1.6666667  -0.197802198  1.186813e-01
## 46  -0.5  -2.0000000  -0.133333333  6.666667e-02
## 47  -0.4  -2.5000000  -0.083333333  3.333333e-02
## 48  -0.3  -3.3333333  -0.046035806  1.381074e-02
## 49  -0.2  -5.0000000  -0.020202020  4.040404e-03
## 50  -0.1 -10.0000000  -0.005012531  5.012531e-04
## 51   0.0         Inf   0.000000000  0.000000e+00
## 52   0.1  10.0000000  -0.005012531 -5.012531e-04
## 53   0.2   5.0000000  -0.020202020 -4.040404e-03
## 54   0.3   3.3333333  -0.046035806 -1.381074e-02
## 55   0.4   2.5000000  -0.083333333 -3.333333e-02
## 56   0.5   2.0000000  -0.133333333 -6.666667e-02
## 57   0.6   1.6666667  -0.197802198 -1.186813e-01
## 58   0.7   1.4285714  -0.279202279 -1.954416e-01
## 59   0.8   1.2500000  -0.380952381 -3.047619e-01
## 60   0.9   1.1111111  -0.507836991 -4.570533e-01
## 61   1.0   1.0000000  -0.666666667 -6.666667e-01
## 62   1.1   0.9090909  -0.867383513 -9.541219e-01
## 63   1.2   0.8333333  -1.125000000 -1.350000e+00
## 64   1.3   0.7692308  -1.463203463 -1.902165e+00
## 65   1.4   0.7142857  -1.921568627 -2.690196e+00
## 66   1.5   0.6666667  -2.571428571 -3.857143e+00
## 67   1.6   0.6250000  -3.555555556 -5.688889e+00
## 68   1.7   0.5882353  -5.207207207 -8.852252e+00
## 69   1.8   0.5555556  -8.526315789 -1.534737e+01
## 70   1.9   0.5263158 -18.512820513 -3.517436e+01
## 71   2.0   0.5000000           Inf           Inf
## 72   2.1   0.4761905  21.512195122  4.517561e+01
## 73   2.2   0.4545455  11.523809524  2.535238e+01
## 74   2.3   0.4347826   8.201550388  1.886357e+01
## 75   2.4   0.4166667   6.545454545  1.570909e+01
## 76   2.5   0.4000000   5.555555556  1.388889e+01
## 77   2.6   0.3846154   4.898550725  1.273623e+01
## 78   2.7   0.3703704   4.431610942  1.196535e+01
## 79   2.8   0.3571429   4.083333333  1.143333e+01
## 80   2.9   0.3448276   3.814058957  1.106077e+01
## 81   3.0   0.3333333   3.600000000  1.080000e+01
## 82   3.1   0.3225806   3.426024955  1.062068e+01
## 83   3.2   0.3125000   3.282051282  1.050256e+01
## 84   3.3   0.3030303   3.161103048  1.043164e+01
## 85   3.4   0.2941176   3.058201058  1.039788e+01
## 86   3.5   0.2857143   2.969696970  1.039394e+01
## 87   3.6   0.2777778   2.892857143  1.041429e+01
## 88   3.7   0.2702703   2.825593395  1.045470e+01
## 89   3.8   0.2631579   2.766283525  1.051188e+01
## 90   3.9   0.2564103   2.713648528  1.058323e+01
## 91   4.0   0.2500000   2.666666667  1.066667e+01
## 92   4.1   0.2439024   2.624512100  1.076050e+01
## 93   4.2   0.2380952   2.586510264  1.086334e+01
## 94   4.3   0.2325581   2.552104900  1.097405e+01
## 95   4.4   0.2272727   2.520833333  1.109167e+01
## 96   4.5   0.2222222   2.492307692  1.121538e+01
## 97   4.6   0.2173913   2.466200466  1.134452e+01
## 98   4.7   0.2127660   2.442233278  1.147850e+01
## 99   4.8   0.2083333   2.420168067  1.161681e+01
## 100  4.9   0.2040816   2.399800100  1.175902e+01
## 101  5.0   0.2000000   2.380952381  1.190476e+01

Graficando f(x):

grafica_fx<-ggplot() + geom_point(data = datos, aes(x = x, y = fx), color = "darkgreen")
grafica_fx

Graficando las asíntotas de f(x):

grafica_fx + geom_vline(xintercept = 0) + geom_hline(yintercept = 0)

Graficando el polígono de f(x):

poligino_fx<-ggplot() + geom_polygon(data = datos, aes(x = x, y = fx), fill = "darkgreen")
poligino_fx

Graficando g(x):

grafica_gx<-ggplot() + geom_point(data = datos, aes(x = x, y = gx), color = "blue")
grafica_gx

Graficando las asíntotas de g(x):

grafica_gx + geom_vline(xintercept = c(-2,2)) + geom_hline(yintercept = 1)

Graficando el polígono de g(x):

poligino_gx<-ggplot() + geom_polygon(data = datos, aes(x = x, y = gx), fill = "blue") + xlab("Eje x") + ylab("Eje y")
poligino_gx

Graficando h(x):

grafica_hx<-ggplot() + geom_point(data = datos, aes(x = x, y = hx), color = "purple")
grafica_hx

Graficando las asíntotas de h(x):

grafica_hx + geom_vline(xintercept = c(-2,2))

Graficando el polígono de h(x):

poligino_hx<-ggplot() + geom_polygon(data = datos, aes(x = x, y = hx), fill = "purple") + xlab("Eje x") + ylab("Eje y")
poligino_hx

3. Actividad de repaso:

Ingresa a https://rstudio.cloud/project/1833666, sigue las instrucciones y crea tu primer gráfica con la función ggplot.


Esta obra fue generada mediante R en October 28, 2020 y forma parte de las actividades realizadas en las materias de Matemáticas I y Taller III, Facultad de Economía, UNAM.
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional. Creative Commons (CC).Licencia de Creative Commons