Licença

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

License: CC BY-SA 4.0

Citação

Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Estatística básica: adicionar linha de tendência no ggplot2. Campo Grande-MS,Brasil: RStudio/Rpubs, 2021. Disponível em http://rpubs.com/amrofi/trend_ggplot2.

1 Introdução

Neste arquivo reproduzo rotinas de plotar uma linha de tendência em dados aleatórios. A fonte básica é de FINNSTATS (2021) em https://finnstats.com/index.php/2021/09/19/draw-a-trend-line-using-ggplot/.

2 Linha de tendência com o ggplot2

Seguem quatro possíveis formas, entre muitas outras, de colocar uma linha de tendência geral em um scatterplot usando o pacote ggplot2.

3 Dados básicos

Um data.frame básico com duas variáveis: x e y.

x = c(13, 25, 52, 33, 40, 55, 70, 100, 120, 100)
y = c(18, 10, 14, 25, 22, 13, 15, 16, 17, 90)
data <- data.frame(x, y)
data

3.1 Abordagem 1: padrão do ggplot2

Neste caso, ele faz uma área de confiança de 95% por default.

library(ggplot2)
ggplot(data, aes(x = x, y = y)) + geom_point() + geom_smooth(method = lm)

3.2 Abordagem 2: Tendência com área de confiança de 90%

ggplot(data, aes(x = x, y = y)) + geom_point() + geom_smooth(method = lm, level = 0.9)

3.3 Abordagem 3: Tendência sem área de confiança

ggplot(data, aes(x = x, y = y)) + geom_point() + geom_smooth(method = lm, se = FALSE,
    col = "blue", size = 2)

3.4 Abordagem 4: Curva de Loess

ggplot(data, aes(x = x, y = y)) + geom_point() + geom_smooth()

LS0tDQp0aXRsZTogIkVzdGF0w61zdGljYSBiw6FzaWNhOiBhZGljaW9uYXIgbGluaGEgZGUgdGVuZMOqbmNpYSBubyBnZ3Bsb3QyIg0KYXV0aG9yOiAiQWRyaWFubyBNYXJjb3MgUm9kcmlndWVzIEZpZ3VlaXJlZG8sICplLW1haWw6IGFkcmlhbm8uZmlndWVpcmVkb0B1Zm1zLmJyKiINCmxpbmtjb2xvcjogYmx1ZQ0KYWJzdHJhY3Q6IA0KICBUaGlzIGlzIGFuIGV4ZXJjaXNlIGZvciBjbGFzcyB1c2UuICANCmRhdGU6ICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVkICVCICVZJylgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0aGVtZTogZGVmYXVsdA0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBkZl9wcmludDogcGFnZWQNCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCi0tLQ0KDQpgYGB7ciBrbml0cl9pbml0LCBlY2hvPUZBTFNFLCBjYWNoZT1GQUxTRX0NCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KHJtYXJrZG93bikNCmxpYnJhcnkocm1kZm9ybWF0cykNCg0KIyMgR2xvYmFsIG9wdGlvbnMNCm9wdGlvbnMobWF4LnByaW50PSIxMDAiKQ0Kb3B0c19jaHVuayRzZXQoZWNobz1UUlVFLA0KCSAgICAgICAgICAgICBjYWNoZT1UUlVFLA0KICAgICAgICAgICAgICAgcHJvbXB0PUZBTFNFLA0KICAgICAgICAgICAgICAgdGlkeT1UUlVFLA0KICAgICAgICAgICAgICAgY29tbWVudD1OQSwNCiAgICAgICAgICAgICAgIG1lc3NhZ2U9RkFMU0UsDQogICAgICAgICAgICAgICB3YXJuaW5nPUZBTFNFKQ0Kb3B0c19rbml0JHNldCh3aWR0aD0xMDApDQpgYGANCg0KDQpMaWNlbsOnYSB7LSNMaWNlbsOnYX0NCj09PT09PT09PT09PT09PT09PT0NCg0KVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlQWxpa2UgNC4wIEludGVybmF0aW9uYWwgTGljZW5zZS4gVG8gdmlldyBhIGNvcHkgb2YgdGhpcyBsaWNlbnNlLCB2aXNpdCA8aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLz4gb3Igc2VuZCBhIGxldHRlciB0byBDcmVhdGl2ZSBDb21tb25zLCBQTyBCb3ggMTg2NiwgTW91bnRhaW4gVmlldywgQ0EgOTQwNDIsIFVTQS4NCg0KIVtMaWNlbnNlOiBDQyBCWS1TQSA0LjBdKGh0dHBzOi8vbWlycm9ycy5jcmVhdGl2ZWNvbW1vbnMub3JnL3ByZXNza2l0L2J1dHRvbnMvODh4MzEvcG5nL2J5LXNhLnBuZyl7IHdpZHRoPTI1JSB9DQoNCkNpdGHDp8OjbyB7LSNDaXRhw6fDo299DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpTdWdlc3TDo28gZGUgY2l0YcOnw6NvOg0KRklHVUVJUkVETywgQWRyaWFubyBNYXJjb3MgUm9kcmlndWVzLiBFc3RhdMOtc3RpY2EgYsOhc2ljYTogYWRpY2lvbmFyIGxpbmhhIGRlIHRlbmTDqm5jaWEgbm8gZ2dwbG90Mi4gQ2FtcG8gR3JhbmRlLU1TLEJyYXNpbDogUlN0dWRpby9ScHVicywgMjAyMS4gRGlzcG9uw612ZWwgZW0gPGh0dHA6Ly9ycHVicy5jb20vYW1yb2ZpL3RyZW5kX2dncGxvdDI+LiANCg0KSW50cm9kdcOnw6NvDQo9PT09PT09PT09PT09PT09PT09DQoNCk5lc3RlIGFycXVpdm8gcmVwcm9kdXpvIHJvdGluYXMgZGUgcGxvdGFyIHVtYSBsaW5oYSBkZSB0ZW5kw6puY2lhIGVtIGRhZG9zIGFsZWF0w7NyaW9zLiBBIGZvbnRlIGLDoXNpY2Egw6kgZGUgRklOTlNUQVRTICgyMDIxKSBlbSA8aHR0cHM6Ly9maW5uc3RhdHMuY29tL2luZGV4LnBocC8yMDIxLzA5LzE5L2RyYXctYS10cmVuZC1saW5lLXVzaW5nLWdncGxvdC8+LiAgICANCg0KIyBMaW5oYSBkZSB0ZW5kw6puY2lhIGNvbSBvIGBnZ3Bsb3QyYA0KDQpTZWd1ZW0gcXVhdHJvIHBvc3PDrXZlaXMgZm9ybWFzLCBlbnRyZSBtdWl0YXMgb3V0cmFzLCBkZSBjb2xvY2FyIHVtYSBsaW5oYSBkZSB0ZW5kw6puY2lhIGdlcmFsIGVtIHVtIHNjYXR0ZXJwbG90IHVzYW5kbyBvIHBhY290ZSBgZ2dwbG90MmAuICAgIA0KDQojIERhZG9zIGLDoXNpY29zDQoNClVtIGRhdGEuZnJhbWUgYsOhc2ljbyBjb20gZHVhcyB2YXJpw6F2ZWlzOiB4IGUgeS4gICAgDQoNCmBgYHtyfQ0KeD1jKDEzLCAyNSwgNTIsIDMzLCA0MCwgNTUsIDcwLDEwMCwxMjAsMTAwKQ0KeT1jKDE4LCAxMCwgMTQsIDI1LCAyMiwgMTMsIDE1LDE2LDE3LDkwKQ0KZGF0YSA8LSBkYXRhLmZyYW1lKHgseSkNCmRhdGENCmBgYA0KDQojIyBBYm9yZGFnZW0gMTogcGFkcsOjbyBkbyBnZ3Bsb3QyDQoNCk5lc3RlIGNhc28sIGVsZSBmYXogdW1hIMOhcmVhIGRlIGNvbmZpYW7Dp2EgZGUgOTUlIHBvciBkZWZhdWx0LiAgICANCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QoZGF0YSwgYWVzKHg9eCwgeT15KSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX3Ntb290aChtZXRob2Q9bG0pDQpgYGANCg0KIyMgQWJvcmRhZ2VtIDI6IFRlbmTDqm5jaWEgY29tIMOhcmVhIGRlIGNvbmZpYW7Dp2EgZGUgOTAlDQoNCmBgYHtyfQ0KZ2dwbG90KGRhdGEsIGFlcyh4PXgsIHk9eSkpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9zbW9vdGgobWV0aG9kPWxtLCBsZXZlbD0wLjkwKQ0KYGBgDQoNCg0KIyMgQWJvcmRhZ2VtIDM6IFRlbmTDqm5jaWEgc2VtIMOhcmVhIGRlIGNvbmZpYW7Dp2ENCg0KYGBge3J9DQpnZ3Bsb3QoZGF0YSwgYWVzKHg9eCwgeT15KSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX3Ntb290aChtZXRob2Q9bG0sIHNlPUZBTFNFLCBjb2w9J2JsdWUnLCBzaXplPTIpDQpgYGANCg0KIyMgQWJvcmRhZ2VtIDQ6IEN1cnZhIGRlICBMb2Vzcw0KDQpgYGB7cn0NCmdncGxvdChkYXRhLCBhZXMoeD14LCB5PXkpKSArDQogIGdlb21fcG9pbnQoKSArDQogIGdlb21fc21vb3RoKCkNCmBgYA0KDQoNCg0KUmVmZXLDqm5jaWFzIHstI1JlZmVyw6puY2lhc30NCj09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpGSU5OU1RBVFMuIFNlcHQsIDE5dGgsMjAyMS4gPGh0dHBzOi8vZmlubnN0YXRzLmNvbS9pbmRleC5waHAvMjAyMS8wOS8xOS9kcmF3LWEtdHJlbmQtbGluZS11c2luZy1nZ3Bsb3QvPg==