R เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎเซเชธ เชฌเชจเชพเชตเซ‹

R เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎเซเชธ เชฌเชจเชพเชตเซ‹

เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชฌเชพเชฐ เชšเชพเชฐเซเชŸ เช•เซ‡ เชœเซ‡ เช•เซ‹เชˆเชชเชฃ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชชเชฐเชจเซ€ เชชเซ‹เชธเซเชŸเชฎเชพเช‚ เชธเซ€เชงเชพ เชœ เชเชฎเซเชฌเซ‡เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชคเซ‡ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฌเชจเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. เชคเซ‡เช“ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช•เซ‹เชˆเชชเชฃ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ€ เช—เชคเชฟเชถเซ€เชฒเชคเชพ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช† เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เช•เชฐเซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ R เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡: เชชเซเชฐเซ‡เช•เซเชŸเชฟเช•เชฒ เช•เซ‹เชฐเซเชธ "เชถเชฐเซ‚เช†เชคเชฅเซ€ เชชเชพเชฏเชฅเซ‹เชจ เชกเซ‡เชตเชฒเชชเชฐ".

เช…เชฎเซ‡ เชฏเชพเชฆ เช•เชฐเชพเชตเซ€เช เช›เซ€เช: Habrเชจเชพ เชคเชฎเชพเชฎ เชตเชพเชšเช•เซ‹ เชฎเชพเชŸเซ‡ - Habr เชชเซเชฐเซ‹เชฎเซ‹ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เช•เซ‹เชฐเซเชธเชฎเชพเช‚ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ 10 เชฐเซ‚เชฌเชฒ เชกเชฟเชธเซเช•เชพเช‰เชจเซเชŸ.

เชชเซ‡เช•เซ‡เชœเซ‹

เช…เชฎเชจเซ‡ R เชฎเชพเช‚ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

เช† เชฌเซ‡ เช…เชคเซเชฏเช‚เชค เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เชกเซ‡เชŸเชพ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพ, เชเชฐเซ‡ เชธเชพเชซ เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเซเชฏเชตเชธเซเชฅเชฟเชค, เชฆเชฐเชตเชพเชจ เช…เชจเซ‡ เชญเซ€เช‚เช—เชกเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชฎเชพเชนเชฟเชคเซ€

เช…เชฎเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชœเซ‡ เชฎเซ‚เชณ เชกเซ‡เชŸเชพเชธเซ‡เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เชคเซ‡ เชตเชฟเชถเซเชต เชฌเซ‡เช‚เช•เชจเซ€ เชตเซ‡เชฌเชธเชพเชˆเชŸ เชชเชฐเชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒ เช›เซ‡. เช† เชฐเชนเซเชฏเชพ เชคเซ‡เช“ - เชตเชฐเซเชฒเซเชกเชฌเซ‡เช‚เช• เชกเซ‡เชŸเชพ. เชธเชฎเชพเชจ เชกเซ‡เชŸเชพ, เชœเซ‹ เชคเชฎเชจเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‹, เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชซเซ‹เชฒเซเชกเชฐเซเชธ.

เช† เช•เซ‡เชตเชพ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เช›เซ‡? เชจเชฎเซ‚เชจเชพเชฎเชพเช‚ เช˜เชฃเชพ เชตเชฐเซเชทเซ‹ (2000 เชฅเซ€ 2017 เชธเซเชงเซ€) เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชฆเซ‡เชถเซ‹เชจเซเช‚ เชœเซ€เชกเซ€เชชเซ€ เชฎเซ‚เชฒเซเชฏ เชถเชพเชฎเซ‡เชฒ เช›เซ‡.

เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช—

เชœเชฐเซ‚เชฐเซ€ เชกเซ‡เชŸเชพ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชจเซ€เชšเซ‡ เชชเซ‹เชธเซเชŸ เช•เชฐเซ‡เชฒเชพ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚. เช…เชฎเซ‡ เช•เซ‰เชฒเชฎเชจเชพ เชจเชพเชฎเซ‹ เชธเชพเชซ เช•เชฐเซ€เช เช›เซ€เช, เชจเช‚เชฌเชฐเซ‹เชจเซ‡ เชจเช‚เชฌเชฐ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ gather() เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเซ‡ gdp_tidy.csv เชฎเชพเช‚ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‡เชฒเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชตเชงเซ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชธเชพเชšเชตเซ€เช เช›เซ€เช.

library(tidyverse)
library(janitor)

gdp <- read_csv("./data/GDP_Data.csv")

#select required columns

gdp <- gdp %>% select(3:15)

#filter only country rows

gdp <- gdp[1:217,]

gdp_tidy <- gdp %>%
mutate_at(vars(contains("YR")),as.numeric) %>%
gather(year,value,3:13) %>%
janitor::clean_names() %>%
mutate(year = as.numeric(stringr::str_sub(year,1,4)))

write_csv(gdp_tidy,"./data/gdp_tidy.csv")

เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎ

เชคเซ‡เชฎเชจเซ€ เชฐเชšเชจเชพเชจเซ‡ เชฌเซ‡ เชคเชฌเช•เซเช•เชพเช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

  • ggplot2 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชพเชธเซเชคเชตเชฟเช• เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎเชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‡เชŸ เชฌเชจเชพเชตเชตเซ‹.
  • เช—เช—เชจเชฎเซ‡เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชšเซเช›เชฟเชค เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เชธเซเชฅเชฟเชฐ เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชเชจเชฟเชฎเซ‡เชŸ เช•เชฐเซ‹.

เช…เช‚เชคเชฟเชฎ เชชเช—เชฒเซเช‚ เช เชเชจเชฟเชฎเซ‡เชถเชจเชจเซ‡ GIF เช…เชฅเชตเชพ MP4 เชธเชนเชฟเชค เช‡เชšเซเช›เชฟเชค เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡.

เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชฒเซ‹เชก เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

  • เชชเซเชธเซเชคเช•เชพเชฒเชฏ(เชตเซเชฏเชตเชธเซเชฅเชฟเชค)
  • เชชเซเชธเซเชคเช•เชพเชฒเชฏ

เชฎเชพเชนเชฟเชคเซ€ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชจ

เช† เชชเช—เชฒเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชฆเชฐเซ‡เช• เชตเชฐเซเชท เชฎเชพเชŸเซ‡ เชŸเซ‹เชšเชจเชพ 10 เชฆเซ‡เชถเซ‹ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชšเชพเชฒเซ‹ เช•เซ‡เชŸเชฒเชพเช• เช•เซ‰เชฒเชฎ เช‰เชฎเซ‡เชฐเซ€เช เชœเซ‡ เช†เชชเชฃเชจเซ‡ เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎ เชฎเชพเชŸเซ‡ เชฆเช‚เชคเช•เชฅเชพ เชฆเชฐเซเชถเชพเชตเชตเชพ เชฆเซ‡เชถเซ‡.

gdp_tidy <- read_csv("./data/gdp_tidy.csv")

gdp_formatted <- gdp_tidy %>%
group_by(year) %>%
# The * 1 makes it possible to have non-integer ranks while sliding
mutate(rank = rank(-value),
Value_rel = value/value[rank==1],
Value_lbl = paste0(" ",round(value/1e9))) %>%
group_by(country_name) %>%
filter(rank <=10) %>%
ungroup()

เชธเซเชฅเชฟเชฐ เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎ เชฌเชจเชพเชตเชตเซเช‚

เชนเชตเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชœเชฐเซ‚เชฐเซ€ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชชเซ‡เช•เซ‡เชœ เช›เซ‡, เช…เชฎเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎ เชฆเซ‹เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช เช›เซ€เช. เชฎเซ‚เชณเชญเซ‚เชค เชฎเชพเชนเชฟเชคเซ€ - เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชธเชฎเชฏ เช…เช‚เชคเชฐเชพเชฒ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชคเชฎ GDP เชธเชพเชฅเซ‡ เชŸเซ‹เชšเชจเชพ 10 เชฆเซ‡เชถเซ‹. เช…เชฎเซ‡ เชฆเชฐเซ‡เช• เชตเชฐเซเชท เชฎเชพเชŸเซ‡ เช—เซเชฐเชพเชซ เชฌเชจเชพเชตเซ€เช เช›เซ€เช.

staticplot = ggplot(gdp_formatted, aes(rank, group = country_name,
fill = as.factor(country_name), color = as.factor(country_name))) +
geom_tile(aes(y = value/2,
height = value,
width = 0.9), alpha = 0.8, color = NA) +
geom_text(aes(y = 0, label = paste(country_name, " ")), vjust = 0.2, hjust = 1) +
geom_text(aes(y=value,label = Value_lbl, hjust=0)) +
coord_flip(clip = "off", expand = FALSE) +
scale_y_continuous(labels = scales::comma) +
scale_x_reverse() +
guides(color = FALSE, fill = FALSE) +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.grid.major.x = element_line( size=.1, color="grey" ),
panel.grid.minor.x = element_line( size=.1, color="grey" ),
plot.title=element_text(size=25, hjust=0.5, face="bold", colour="grey", vjust=-1),
plot.subtitle=element_text(size=18, hjust=0.5, face="italic", color="grey"),
plot.caption =element_text(size=8, hjust=0.5, face="italic", color="grey"),
plot.background=element_blank(),
plot.margin = margin(2,2, 2, 4, "cm"))

ggplot2 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฒเซ‹เชŸ เชฌเชจเชพเชตเชตเซเช‚ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡. เชœเซ‡เชฎ เชคเชฎเซ‡ เช‰เชชเชฐเชจเชพ เช•เซ‹เชก เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชฅเซ€เชฎ() เชซเช‚เช•เซเชถเชจ เชธเชพเชฅเซ‡ เช˜เชฃเชพ เชฎเซเช–เซเชฏ เชฎเซเชฆเซเชฆเชพเช“ เช›เซ‡. เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เชœเซ‡เชฅเซ€ เชฌเชงเชพ เชคเชคเซเชตเซ‹ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เชเชจเชฟเชฎเซ‡เชŸ เชฅเชพเชฏ. เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เชคเซ‡เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชˆ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚. เช‰เชฆเชพเชนเชฐเชฃ: เชฎเชพเชคเซเชฐ เชŠเชญเซ€ เช—เซเชฐเซ€เชก เชฐเซ‡เช–เชพเช“ เช…เชจเซ‡ เชฆเช‚เชคเช•เชฅเชพเช“ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เช•เซเชทเชจเชพ เชถเซ€เชฐเซเชทเช•เซ‹ เช…เชจเซ‡ เช…เชจเซเชฏ เช•เซ‡เชŸเชฒเชพเช• เช˜เชŸเช•เซ‹เชจเซ‡ เชตเชฟเชธเซเชคเชพเชฐเชฎเชพเช‚เชฅเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชเชจเชฟเชฎเซ‡เชถเชจ

เช…เชนเซ€เช‚ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เช›เซ‡ transition_states(), เชคเซ‡ เช…เชฒเช— เชธเซเชฅเชฟเชฐ เช—เซเชฐเชพเชซเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชŸเชพเช‚เช•เชพ เช•เชฐเซ‡ เช›เซ‡. view_follow() เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช—เซเชฐเซ€เชก เชฐเซ‡เช–เชพเช“ เชฆเซ‹เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡.

anim = staticplot + transition_states(year, transition_length = 4, state_length = 1) +
view_follow(fixed_x = TRUE) +
labs(title = 'GDP per Year : {closest_state}',
subtitle = "Top 10 Countries",
caption = "GDP in Billions USD | Data Source: World Bank Data")

เชฐเซ‡เชจเซเชกเชฐเซ€เช‚เช—

เชเช•เชตเชพเชฐ เชเชจเชฟเชฎเซ‡เชถเชจ เชฌเชจเซ€ เชœเชพเชฏ เช…เชจเซ‡ เชเชจเชฟเชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชˆ เชœเชพเชฏ, เชเชจเชฟเชฎเซ‡เชŸ() เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‡ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡. เชเชจเชฟเชฎเซ‡เชŸ() เชฎเชพเช‚ เชตเชชเชฐเชพเชคเซเช‚ เชฐเซ‡เชจเซเชกเชฐเชฐ เชœเชฐเซ‚เชฐเซ€ เช†เช‰เชŸเชชเซเชŸ เชซเชพเชˆเชฒเชจเชพ เชชเซเชฐเช•เชพเชฐเชจเซ‡ เช†เชงเชพเชฐเซ‡ เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

GIF

# For GIF

animate(anim, 200, fps = 20, width = 1200, height = 1000,
renderer = gifski_renderer("gganim.gif"))

MP4

# For MP4

animate(anim, 200, fps = 20, width = 1200, height = 1000,
renderer = ffmpeg_renderer()) -> for_mp4

anim_save("animation.mp4", animation = for_mp4 )

เชชเชฐเชฟเชฃเชพเชฎ

R เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเชฟเชฎเซ‡เชŸเซ‡เชก เชนเชฟเชธเซเชŸเซ‹เช—เซเชฐเชพเชฎเซเชธ เชฌเชจเชพเชตเซ‹

เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เช•เช‚เชˆ เชœเชŸเชฟเชฒ เชจเชฅเซ€. เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชฎเชพเชฐเซเช‚ GitHub, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฒเชพเช—เซ‡ เชคเซ‡เชฎ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡:

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹