install.packages("readxl")
install.packages("openxlsx")
install.packages("ggplot2")
install.packages("tidyverse")
install.packages("multcomp")
install.packages("magick")
Upload the file into the dataframe
library(readxl)
library(ggplot2)
library(tidyverse)
library(multcomp)
library(dplyr)
library(magick)
ICONS
data <- read_excel("C:\\Users\\User\\Desktop\\Survey Signup +Icon\\SurveyICON.xlsx")
print(data)
summary(data)
Id Icon1 Icon2 Icon3 Icon4
Min. : 1.00 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.:19.25 1st Qu.:1.000 1st Qu.:3.000 1st Qu.:3.000 1st Qu.:2.000
Median :37.50 Median :3.000 Median :4.000 Median :5.000 Median :3.000
Mean :37.50 Mean :2.716 Mean :3.946 Mean :4.662 Mean :3.081
3rd Qu.:55.75 3rd Qu.:4.000 3rd Qu.:5.000 3rd Qu.:6.000 3rd Qu.:4.000
Max. :74.00 Max. :6.000 Max. :6.000 Max. :7.000 Max. :7.000
Icon5 Icon6
Min. :1.000 Min. :1.000
1st Qu.:2.000 1st Qu.:2.000
Median :3.000 Median :4.000
Mean :3.338 Mean :4.122
3rd Qu.:4.750 3rd Qu.:6.000
Max. :7.000 Max. :7.000
# เปลี่ยนรูปแบบจาก wide เป็น narrow
data2 <- data %>%
pivot_longer(cols = starts_with("Icon"),
names_to = "variable",
values_to = "value") %>%
mutate(variable = as.factor(variable))
# print(data2)
#คำนวณ mean & SD เพื่อนำไปใช้ในการสร้าง Error Bar
summary_data <- data2 %>%
group_by(variable) %>%
summarize(
mean_value = mean(value),
se = sd(value) / sqrt(n()))
print(summary_data)
NA
#สร้างกราฟแท่งจาก Mean ของแต่ละไอคอน พร้อมใส่ Error Bar
ggplot(summary_data, aes(x = variable, y = mean_value)) +
geom_bar(stat = "identity", fill = "orange", width = 0.6) +
geom_errorbar(aes(ymin = mean_value - se*1.96, ymax = mean_value + se*1.96), width = 0.2) +
geom_text(aes(label = round(mean_value, 2), y = mean_value), vjust = -0.5, , hjust = -0.3, size = 3, color = "blue") +
labs(title = "กราฟแสดงผลความพึงพอใจของแต่ละรูปแบบไอคอน", x = "รูปแบบไอคอน", y = "ระดับความพึงพอใจ")

# การสร้างกราฟ(เป็นBoxplot)
ggplot(data2, aes(x = variable, y = value)) +
geom_boxplot() +
labs(title = "การแจกแจงคะแนนของแต่ละไอคอน",
x = "รูปแบบไอคอน",
y = "ค่าความพึงพอใจ")
# การวิเคราะห์ ANOVA เพื่อดูผลภาพรวมความต่างว่ามีนัยสำคัญหรือไม่
anova_result <- aov(value ~ variable , data = data2)
summary(anova_result)
Df Sum Sq Mean Sq F value Pr(>F)
variable 5 194.4 38.88 12.89 1.04e-11 ***
Residuals 438 1321.4 3.02
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
จากผลการวิเคราะห์ด้านบนสรุปได้ว่าค่า P Value< 0.05
จึงสรุปได้ว่าระดับความพึงพอใจของไอคอนเหล่านั้นมีความแตกต่างกันอย่างมีนัยสำคัญ
#แล้วมาเปรียบเทียบทีละคู่ว่าต่างกันอย่างมีนัยสำคัญหรือไม่
posthoc_result <- glht(anova_result, linfct = mcp(variable = "Tukey"))
summary(posthoc_result)
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: Tukey Contrasts
Fit: aov(formula = value ~ variable, data = data2)
Linear Hypotheses:
Estimate Std. Error t value Pr(>|t|)
Icon2 - Icon1 == 0 1.2297 0.2855 4.307 < 0.001 ***
Icon3 - Icon1 == 0 1.9459 0.2855 6.815 < 0.001 ***
Icon4 - Icon1 == 0 0.3649 0.2855 1.278 0.79708
Icon5 - Icon1 == 0 0.6216 0.2855 2.177 0.25052
Icon6 - Icon1 == 0 1.4054 0.2855 4.922 < 0.001 ***
Icon3 - Icon2 == 0 0.7162 0.2855 2.508 0.12373
Icon4 - Icon2 == 0 -0.8649 0.2855 -3.029 0.03102 *
Icon5 - Icon2 == 0 -0.6081 0.2855 -2.130 0.27399
Icon6 - Icon2 == 0 0.1757 0.2855 0.615 0.98991
Icon4 - Icon3 == 0 -1.5811 0.2855 -5.537 < 0.001 ***
Icon5 - Icon3 == 0 -1.3243 0.2855 -4.638 < 0.001 ***
Icon6 - Icon3 == 0 -0.5405 0.2855 -1.893 0.40784
Icon5 - Icon4 == 0 0.2568 0.2855 0.899 0.94659
Icon6 - Icon4 == 0 1.0405 0.2855 3.644 0.00399 **
Icon6 - Icon5 == 0 0.7838 0.2855 2.745 0.06868 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
เมื่อนำแต่ละไอคอนมาเปรียบเทียบกัน จากผลการวิเคราะห์ด้านบนสรุปได้ว่า Icon2, Icon3,
Icon6 ไม่มีความต่างกันอย่างมีนัยยะสำคัญ แต่ Icon3 และ Icon6
มีผลความพึงพอใจที่ได้ใกล้เคียงกันมากที่สุด และเมื่อวิเคราะห์จากรูปแบบของการออกแบบ
พบว่าไอคอนที่สื่อความหมายควรมีขีดทับตรงกลางเพื่อสื่อถึงปัญหาหรือสิ่งขัดข้อง
และควรมีรูปสายไฟฟ้าและรูปหลอดไฟ
ทางผู้วิจัยจึงนำข้อมูลเหล่านี้มาใช้เพื่อพัฒนาเป็นไอคอนแบบใหม่ที่มีส่วนประกอบที่สำคัญดังกล่าวเพื่อให้สื่อความหมายของ
“พื้นที่ไฟฟ้าดับ/ขัดข้อง” มากที่สุด
Outage Area Icon
LS0tDQp0aXRsZTogIklDT04gU3VydmV5IFJlcG9ydCINCnN1YnRpdGxlOiBJbnRocmFwb3JuIChKb29wKSBBcmFueWFuYWssIFBoRA0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoInJlYWR4bCIpDQppbnN0YWxsLnBhY2thZ2VzKCJvcGVueGxzeCIpDQppbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikNCmluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQppbnN0YWxsLnBhY2thZ2VzKCJtdWx0Y29tcCIpDQppbnN0YWxsLnBhY2thZ2VzKCJtYWdpY2siKQ0KYGBgDQoNClVwbG9hZCB0aGUgZmlsZSBpbnRvIHRoZSBkYXRhZnJhbWUNCmBgYHtyfQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkobXVsdGNvbXApDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShtYWdpY2spDQpgYGANCiFbSUNPTlNdKC9Vc2Vyc1xVc2VyXERlc2t0b3BcU3VydmV5IFNpZ251cCArSWNvblxJY29uVGVzdC5wbmcpDQoNCmBgYHtyfQ0KZGF0YSA8LSByZWFkX2V4Y2VsKCJDOlxcVXNlcnNcXFVzZXJcXERlc2t0b3BcXFN1cnZleSBTaWdudXAgK0ljb25cXFN1cnZleUlDT04ueGxzeCIpDQpwcmludChkYXRhKQ0KDQpzdW1tYXJ5KGRhdGEpDQoNCmBgYA0KYGBge3J9DQojIOC5gOC4m+C4peC4teC5iOC4ouC4meC4o+C4ueC4m+C5geC4muC4muC4iOC4suC4gSB3aWRlIOC5gOC4m+C5h+C4mSBuYXJyb3cNCmRhdGEyIDwtIGRhdGEgJT4lDQogIHBpdm90X2xvbmdlcihjb2xzID0gc3RhcnRzX3dpdGgoIkljb24iKSwNCiAgICAgICAgICAgICAgIG5hbWVzX3RvID0gInZhcmlhYmxlIiwgICAgICANCiAgICAgICAgICAgICAgIHZhbHVlc190byA9ICJ2YWx1ZSIpICU+JQ0KICBtdXRhdGUodmFyaWFibGUgPSBhcy5mYWN0b3IodmFyaWFibGUpKQ0KIyBwcmludChkYXRhMikNCg0KI+C4hOC4s+C4meC4p+C4kyBtZWFuICYgU0Qg4LmA4Lie4Li34LmI4Lit4LiZ4Liz4LmE4Lib4LmD4LiK4LmJ4LmD4LiZ4LiB4Liy4Lij4Liq4Lij4LmJ4Liy4LiHIEVycm9yIEJhcg0Kc3VtbWFyeV9kYXRhIDwtIGRhdGEyICU+JQ0KICBncm91cF9ieSh2YXJpYWJsZSkgJT4lDQogIHN1bW1hcml6ZSgNCiAgICBtZWFuX3ZhbHVlID0gbWVhbih2YWx1ZSksDQogICAgc2UgPSBzZCh2YWx1ZSkgLyBzcXJ0KG4oKSkpDQoNCnByaW50KHN1bW1hcnlfZGF0YSkNCg0KYGBgDQoNCmBgYHtyfQ0KI+C4quC4o+C5ieC4suC4h+C4geC4o+C4suC4n+C5geC4l+C5iOC4h+C4iOC4suC4gSBNZWFuIOC4guC4reC4h+C5geC4leC5iOC4peC4sOC5hOC4reC4hOC4reC4mSDguJ7guKPguYnguK3guKHguYPguKrguYggRXJyb3IgQmFyDQoNCmdncGxvdChzdW1tYXJ5X2RhdGEsIGFlcyh4ID0gdmFyaWFibGUsIHkgPSBtZWFuX3ZhbHVlKSkgKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgZmlsbCA9ICJvcmFuZ2UiLCB3aWR0aCA9IDAuNikgKw0KICBnZW9tX2Vycm9yYmFyKGFlcyh5bWluID0gbWVhbl92YWx1ZSAtIHNlKjEuOTYsIHltYXggPSBtZWFuX3ZhbHVlICsgc2UqMS45NiksIHdpZHRoID0gMC4yKSArDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSByb3VuZChtZWFuX3ZhbHVlLCAyKSwgeSA9IG1lYW5fdmFsdWUpLCB2anVzdCA9IC0wLjUsICwgaGp1c3QgPSAtMC4zLCBzaXplID0gMywgY29sb3IgPSAiYmx1ZSIpICsNCiAgbGFicyh0aXRsZSA9ICLguIHguKPguLLguJ/guYHguKrguJTguIfguJzguKXguITguKfguLLguKHguJ7guLbguIfguJ7guK3guYPguIjguILguK3guIfguYHguJXguYjguKXguLDguKPguLnguJvguYHguJrguJrguYTguK3guITguK3guJkiLCB4ID0gIuC4o+C4ueC4m+C5geC4muC4muC5hOC4reC4hOC4reC4mSIsIHkgPSAi4Lij4Liw4LiU4Lix4Lia4LiE4Lin4Liy4Lih4Lie4Li24LiH4Lie4Lit4LmD4LiIIikNCmBgYA0KDQpgYGB7cn0NCg0KIyDguIHguLLguKPguKrguKPguYnguLLguIfguIHguKPguLLguJ8o4LmA4Lib4LmH4LiZQm94cGxvdCkNCmdncGxvdChkYXRhMiwgYWVzKHggPSB2YXJpYWJsZSwgeSA9IHZhbHVlKSkgKw0KICBnZW9tX2JveHBsb3QoKSArDQogIGxhYnModGl0bGUgPSAi4LiB4Liy4Lij4LmB4LiI4LiB4LmB4LiI4LiH4LiE4Liw4LmB4LiZ4LiZ4LiC4Lit4LiH4LmB4LiV4LmI4Lil4Liw4LmE4Lit4LiE4Lit4LiZIiwNCiAgICAgICB4ID0gIuC4o+C4ueC4m+C5geC4muC4muC5hOC4reC4hOC4reC4mSIsDQogICAgICAgeSA9ICLguITguYjguLLguITguKfguLLguKHguJ7guLbguIfguJ7guK3guYPguIgiKQ0KDQpgYGANCmBgYHtyfQ0KIyDguIHguLLguKPguKfguLTguYDguITguKPguLLguLDguKvguYwgQU5PVkEg4LmA4Lie4Li34LmI4Lit4LiU4Li54Lic4Lil4Lig4Liy4Lie4Lij4Lin4Lih4LiE4Lin4Liy4Lih4LiV4LmI4Liy4LiH4Lin4LmI4Liy4Lih4Li14LiZ4Lix4Lii4Liq4Liz4LiE4Lix4LiN4Lir4Lij4Li34Lit4LmE4Lih4LmIDQogYW5vdmFfcmVzdWx0IDwtIGFvdih2YWx1ZSB+IHZhcmlhYmxlICwgZGF0YSA9IGRhdGEyKQ0KIHN1bW1hcnkoYW5vdmFfcmVzdWx0KQ0KIA0KYGBgDQo+PiDguIjguLLguIHguJzguKXguIHguLLguKPguKfguLTguYDguITguKPguLLguLDguKvguYzguJTguYnguLLguJnguJrguJnguKrguKPguLjguJvguYTguJTguYnguKfguYjguLLguITguYjguLIgUCBWYWx1ZTwgMC4wNSDguIjguLbguIfguKrguKPguLjguJvguYTguJTguYnguKfguYjguLLguKPguLDguJTguLHguJrguITguKfguLLguKHguJ7guLbguIfguJ7guK3guYPguIjguILguK3guIfguYTguK3guITguK3guJnguYDguKvguKXguYjguLLguJnguLHguYnguJnguKHguLXguITguKfguLLguKHguYHguJXguIHguJXguYjguLLguIfguIHguLHguJnguK3guKLguYjguLLguIfguKHguLXguJnguLHguKLguKrguLPguITguLHguI0NCg0KYGBge3J9DQoj4LmB4Lil4LmJ4Lin4Lih4Liy4LmA4Lib4Lij4Li14Lii4Lia4LmA4LiX4Li14Lii4Lia4LiX4Li14Lil4Liw4LiE4Li54LmI4Lin4LmI4Liy4LiV4LmI4Liy4LiH4LiB4Lix4LiZ4Lit4Lii4LmI4Liy4LiH4Lih4Li14LiZ4Lix4Lii4Liq4Liz4LiE4Lix4LiN4Lir4Lij4Li34Lit4LmE4Lih4LmIDQpwb3N0aG9jX3Jlc3VsdCA8LSBnbGh0KGFub3ZhX3Jlc3VsdCwgbGluZmN0ID0gbWNwKHZhcmlhYmxlID0gIlR1a2V5IikpDQogc3VtbWFyeShwb3N0aG9jX3Jlc3VsdCkNCmBgYA0KPj4g4LmA4Lih4Li34LmI4Lit4LiZ4Liz4LmB4LiV4LmI4Lil4Liw4LmE4Lit4LiE4Lit4LiZ4Lih4Liy4LmA4Lib4Lij4Li14Lii4Lia4LmA4LiX4Li14Lii4Lia4LiB4Lix4LiZIOC4iOC4suC4geC4nOC4peC4geC4suC4o+C4p+C4tOC5gOC4hOC4o+C4suC4sOC4q+C5jOC4lOC5ieC4suC4meC4muC4meC4quC4o+C4uOC4m+C5hOC4lOC5ieC4p+C5iOC4siBJY29uMiwgSWNvbjMsIEljb242IOC5hOC4oeC5iOC4oeC4teC4hOC4p+C4suC4oeC4leC5iOC4suC4h+C4geC4seC4meC4reC4ouC5iOC4suC4h+C4oeC4teC4meC4seC4ouC4ouC4sOC4quC4s+C4hOC4seC4jSDguYHguJXguYggSWNvbjMg4LmB4Lil4LiwIEljb242IOC4oeC4teC4nOC4peC4hOC4p+C4suC4oeC4nuC4tuC4h+C4nuC4reC5g+C4iOC4l+C4teC5iOC5hOC4lOC5ieC5g+C4geC4peC5ieC5gOC4hOC4teC4ouC4h+C4geC4seC4meC4oeC4suC4geC4l+C4teC5iOC4quC4uOC4lCDguYHguKXguLDguYDguKHguLfguYjguK3guKfguLTguYDguITguKPguLLguLDguKvguYzguIjguLLguIHguKPguLnguJvguYHguJrguJrguILguK3guIfguIHguLLguKPguK3guK3guIHguYHguJrguJog4Lie4Lia4Lin4LmI4Liy4LmE4Lit4LiE4Lit4LiZ4LiX4Li14LmI4Liq4Li34LmI4Lit4LiE4Lin4Liy4Lih4Lir4Lih4Liy4Lii4LiE4Lin4Lij4Lih4Li14LiC4Li14LiU4LiX4Lix4Lia4LiV4Lij4LiH4LiB4Lil4Liy4LiH4LmA4Lie4Li34LmI4Lit4Liq4Li34LmI4Lit4LiW4Li24LiH4Lib4Lix4LiN4Lir4Liy4Lir4Lij4Li34Lit4Liq4Li04LmI4LiH4LiC4Lix4LiU4LiC4LmJ4Lit4LiHIOC5geC4peC4sOC4hOC4p+C4o+C4oeC4teC4o+C4ueC4m+C4quC4suC4ouC5hOC4n+C4n+C5ieC4suC5geC4peC4sOC4o+C4ueC4m+C4q+C4peC4reC4lOC5hOC4nyDguJfguLLguIfguJzguLnguYnguKfguLTguIjguLHguKLguIjguLbguIfguJnguLPguILguYnguK3guKHguLnguKXguYDguKvguKXguYjguLLguJnguLXguYnguKHguLLguYPguIrguYnguYDguJ7guLfguYjguK3guJ7guLHguJLguJnguLLguYDguJvguYfguJnguYTguK3guITguK3guJnguYHguJrguJrguYPguKvguKHguYjguJfguLXguYjguKHguLXguKrguYjguKfguJnguJvguKPguLDguIHguK3guJrguJfguLXguYjguKrguLPguITguLHguI3guJTguLHguIfguIHguKXguYjguLLguKfguYDguJ7guLfguYjguK3guYPguKvguYnguKrguLfguYjguK3guITguKfguLLguKHguKvguKHguLLguKLguILguK3guIcgIuC4nuC4t+C5ieC4meC4l+C4teC5iOC5hOC4n+C4n+C5ieC4suC4lOC4seC4mi/guILguLHguJTguILguYnguK3guIciIOC4oeC4suC4geC4l+C4teC5iOC4quC4uOC4lA0KDQoNCiFbT3V0YWdlIEFyZWEgSWNvbl0oL1VzZXJzXFVzZXJcRGVza3RvcFxTdXJ2ZXkgU2lnbnVwICtJY29uXElDT04xXE91dGFnZUFyZWEuanBnKQ==