setwd("~/R training")
data visualization with no coding
#install liabraries
library(gganimate)
library(ggstatsplot)
library(patchwork)
library(plotly)
library(gifski)
library(GWalkR)
library(esquisse)
library(rio)
``
# import the data
gss=read.csv("GSSsubset.csv")
head(gss)
data visualization using esquisse
library(esquisse)
#esquisser(gss)
library(ggplot2)
p1=ggplot(gss) +
aes(x = age, y = income) +
geom_point(colour = "#1680E7") +
labs(x = "age", y = "income",
title = "scatter plot", caption = "source:naomi 2025") +
theme_bw()
#loaad library
library(esquisse)
#esquisser(gss)
library(ggplot2)
p2=ggplot(gss) +
aes(x = degree, fill = degree) +
geom_bar() +
scale_fill_hue(direction = 1) +
labs(x = "number of respondents",
y = "education level", title = "bar chat", caption = "source:naomi 2025") +
theme_classic() +
theme(axis.text.x = element_text(size = 14L))
library(esquisse)
library(ggplot2)
ggplot(gss) +
aes(x = weight, y = height) +
geom_point(colour = "#1DB81D") +
labs(x = "height", y = "weight",
title = "bar chat", caption = "source:Naomi") +
ggthemes::theme_economist() +
theme(legend.text = element_text(face = "bold",
size = 14L), legend.title = element_text(face = "bold", size = 14L))
#esquisser(gss)
library(esquisse)
library(ggplot2)
ggplot(gss) +
aes(x = sex, y = income) +
geom_col(fill = "#112446") +
geom_boxplot(aes(x = sex, y = income),
fill = "#112446") +
labs(x = "sex", y = "income", title = "box plot", caption = "source: Naomi,2025") +
theme_dark() +
theme(legend.text = element_text(face = "bold"), legend.title = element_text(face = "bold"))
#esquisser(gss)
library(ggplot2)
height vs weight
#library(GWalkR)
#gwalkr(gss)
library(patchwork)
combine = (p1|p2)+
plot_annotation(title="combined plots")
print(combine)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCnNldHdkKCJ+L1IgdHJhaW5pbmciKQ0KYGBgDQoNCg0KIyMgZGF0YSB2aXN1YWxpemF0aW9uIHdpdGggbm8gY29kaW5nDQojaW5zdGFsbCBsaWFicmFyaWVzDQpgYGB7cn0NCmxpYnJhcnkoZ2dhbmltYXRlKSAgICAgICANCmxpYnJhcnkoZ2dzdGF0c3Bsb3QpICAgICANCmxpYnJhcnkocGF0Y2h3b3JrKSAgICAgDQpsaWJyYXJ5KHBsb3RseSkgICAgICAgIA0KbGlicmFyeShnaWZza2kpICAgICAgICANCmxpYnJhcnkoR1dhbGtSKSAgICAgICAgDQpsaWJyYXJ5KGVzcXVpc3NlKQ0KbGlicmFyeShyaW8pDQoNCmBgDQpgYGANCg0KDQpgYGB7cn0NCiMgaW1wb3J0IHRoZSAgZGF0YQ0KYGBgDQoNCmBgYHtyfQ0KZ3NzPXJlYWQuY3N2KCJHU1NzdWJzZXQuY3N2IikNCmhlYWQoZ3NzKQ0KYGBgDQoNCg0KIyMgZGF0YSB2aXN1YWxpemF0aW9uIHVzaW5nIGVzcXVpc3NlDQoNCmBgYHtyfQ0KbGlicmFyeShlc3F1aXNzZSkNCiNlc3F1aXNzZXIoZ3NzKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpwMT1nZ3Bsb3QoZ3NzKSArDQogYWVzKHggPSBhZ2UsIHkgPSBpbmNvbWUpICsNCiBnZW9tX3BvaW50KGNvbG91ciA9ICIjMTY4MEU3IikgKw0KIGxhYnMoeCA9ICJhZ2UiLCB5ID0gImluY29tZSIsIA0KIHRpdGxlID0gInNjYXR0ZXIgcGxvdCIsIGNhcHRpb24gPSAic291cmNlOm5hb21pIDIwMjUiKSArDQogdGhlbWVfYncoKQ0KDQpgYGANCg0KI2xvYWFkIGxpYnJhcnkNCmBgYHtyfQ0KbGlicmFyeShlc3F1aXNzZSkNCiNlc3F1aXNzZXIoZ3NzKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpwMj1nZ3Bsb3QoZ3NzKSArDQogYWVzKHggPSBkZWdyZWUsIGZpbGwgPSBkZWdyZWUpICsNCiBnZW9tX2JhcigpICsNCiBzY2FsZV9maWxsX2h1ZShkaXJlY3Rpb24gPSAxKSArDQogbGFicyh4ID0gIm51bWJlciBvZiByZXNwb25kZW50cyIsIA0KIHkgPSAiZWR1Y2F0aW9uIGxldmVsIiwgdGl0bGUgPSAiYmFyIGNoYXQiLCBjYXB0aW9uID0gInNvdXJjZTpuYW9taSAyMDI1IikgKw0KIHRoZW1lX2NsYXNzaWMoKSArDQogdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0TCkpDQoNCg0KYGBgDQoNCg0KDQoNCg0KDQpgYGB7cn0NCmxpYnJhcnkoZXNxdWlzc2UpDQoNCmxpYnJhcnkoZ2dwbG90MikNCg0KZ2dwbG90KGdzcykgKw0KIGFlcyh4ID0gd2VpZ2h0LCB5ID0gaGVpZ2h0KSArDQogZ2VvbV9wb2ludChjb2xvdXIgPSAiIzFEQjgxRCIpICsNCiBsYWJzKHggPSAiaGVpZ2h0IiwgeSA9ICJ3ZWlnaHQiLCANCiB0aXRsZSA9ICJiYXIgY2hhdCIsIGNhcHRpb24gPSAic291cmNlOk5hb21pIikgKw0KIGdndGhlbWVzOjp0aGVtZV9lY29ub21pc3QoKSArDQogdGhlbWUobGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQoZmFjZSA9ICJib2xkIiwgDQogc2l6ZSA9IDE0TCksIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChmYWNlID0gImJvbGQiLCBzaXplID0gMTRMKSkNCg0KDQojZXNxdWlzc2VyKGdzcykNCg0KYGBgDQoNCg0KDQoNCmBgYHtyfQ0KbGlicmFyeShlc3F1aXNzZSkNCg0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpnZ3Bsb3QoZ3NzKSArDQogYWVzKHggPSBzZXgsIHkgPSBpbmNvbWUpICsNCiBnZW9tX2NvbChmaWxsID0gIiMxMTI0NDYiKSArDQogZ2VvbV9ib3hwbG90KGFlcyh4ID0gc2V4LCB5ID0gaW5jb21lKSwgDQogZmlsbCA9ICIjMTEyNDQ2IikgKw0KIGxhYnMoeCA9ICJzZXgiLCB5ID0gImluY29tZSIsIHRpdGxlID0gImJveCBwbG90IiwgY2FwdGlvbiA9ICJzb3VyY2U6IE5hb21pLDIwMjUiKSArDQogdGhlbWVfZGFyaygpICsNCiB0aGVtZShsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChmYWNlID0gImJvbGQiKSwgbGVnZW5kLnRpdGxlID0gZWxlbWVudF90ZXh0KGZhY2UgPSAiYm9sZCIpKQ0KI2VzcXVpc3Nlcihnc3MpDQpsaWJyYXJ5KGdncGxvdDIpDQoNCmBgYA0KDQojIyBoZWlnaHQgdnMgd2VpZ2h0DQpgYGB7cn0NCiNsaWJyYXJ5KEdXYWxrUikNCiNnd2Fsa3IoZ3NzKQ0KDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkocGF0Y2h3b3JrKQ0KDQpjb21iaW5lID0gKHAxfHAyKSsNCiAgcGxvdF9hbm5vdGF0aW9uKHRpdGxlPSJjb21iaW5lZCBwbG90cyIpDQpwcmludChjb21iaW5lKQ0KYGBgDQoNCg0KDQoNCg0KYGBge3J9DQoNCmBgYA0KDQoNCg0KDQoNCg0KDQo=