df <- read.csv("supertone.csv", header = TRUE)
names(df)[names(df) == "function."] <- "function"
library(psych)
df_gen <- df[df$content_exp == "Y", ]
df_gen$tts_exp <- ifelse(df_gen$tts_use == "Y", 1, 0)
tts_use = Y (tts 사용해 봄)이면 1
tts_use = N (tts 사용해 본 적 없음)이면 0
r_gen <- describeBy(df_gen[, c("tts_exp")], group = df_gen$content_genre)
r_gen_df <- do.call(rbind, r_gen)
r_gen_df[, c("n", "mean", "sd", "median", "min", "max", "range")]
## n mean sd median min max range
## info 21 0.38 0.5 0.0 0 1 1
## original 2 1.00 0.0 1.0 1 1 0
## self_exp 56 0.50 0.5 0.5 0 1 1
## virtual_persona 2 0.00 0.0 0.0 0 0 0
정보전달형(info): 사용 비율 0.38 (n=21)
오리지널형(original): 사용 비율 1.00 (n=2)
자기표현형(self_exp): 사용 비율 0.50 (n=56)
가상 기반 페르소나형(virtual_persona): 사용 비율 0.00 (n=2)
anova_res <- aov(tts_exp ~ content_genre, data = df_gen)
summary(anova_res)
## Df Sum Sq Mean Sq F value Pr(>F)
## content_genre 3 1.22 0.4068 1.653 0.184
## Residuals 77 18.95 0.2461
H_0: 콘텐츠 장르에 따른 tts 사용 여부 차이가가 없다.
H_1: 콘텐츠 장르에 따른 tts 사용 여부 차이가 있다.
통계적 검정에 따른 유의미한 차이는 없다. (p = .184)
df_tts <- df[df$tts_use == "Y", ]
r_fac <- describeBy(df_tts[, c("price", "quality", "speed", "variety", "function", "famous", "convenience")], group = df_tts$tts_num)
r_fac_df <- do.call(rbind, r_fac)
r_fac_df[, c("n", "mean", "sd", "median", "min", "max", "range")]
## n mean sd median min max range
## active.price 10 3.70 1.49 3.5 2 7 5
## active.quality 10 3.90 1.37 3.0 3 7 4
## active.speed 10 3.70 1.89 3.5 1 7 6
## active.variety 10 3.20 1.48 2.5 2 6 4
## active.function 10 3.50 2.07 3.5 1 7 6
## active.famous 10 4.50 1.72 4.0 2 7 5
## active.convenience 10 3.40 2.12 4.0 1 7 6
## casual.price 8 4.12 2.30 4.5 1 7 6
## casual.quality 8 4.38 1.77 4.5 1 6 5
## casual.speed 8 5.12 1.46 5.0 3 7 4
## casual.variety 8 5.75 1.04 6.0 4 7 3
## casual.function 8 5.75 1.49 6.5 4 7 3
## casual.famous 8 4.50 2.73 5.0 1 7 6
## casual.convenience 8 4.75 2.25 5.0 2 7 5
## pro.price 10 3.80 1.69 4.0 1 7 6
## pro.quality 10 3.60 1.51 3.0 2 7 5
## pro.speed 10 3.60 1.35 3.0 2 6 4
## pro.variety 10 4.50 1.27 4.0 3 7 4
## pro.function 10 3.50 2.07 3.5 1 7 6
## pro.famous 10 4.40 2.22 4.5 1 7 6
## pro.convenience 10 2.50 1.43 2.0 1 5 4
## rare.price 10 3.80 1.62 4.0 1 6 5
## rare.quality 10 4.10 1.52 4.0 1 6 5
## rare.speed 10 4.50 1.96 4.0 1 7 6
## rare.variety 10 3.40 1.65 3.5 1 6 5
## rare.function 10 3.00 1.33 3.0 1 5 4
## rare.famous 10 3.70 1.83 4.0 1 7 6
## rare.convenience 10 4.20 1.55 4.0 2 7 5
r_fac_df[c("active.famous", "casual.famous", "pro.famous", "rare.famous"), c("n", "mean", "sd", "median", "min", "max", "range")]
## n mean sd median min max range
## active.famous 10 4.5 1.72 4.0 2 7 5
## casual.famous 8 4.5 2.73 5.0 1 7 6
## pro.famous 10 4.4 2.22 4.5 1 7 6
## rare.famous 10 3.7 1.83 4.0 1 7 6
1 = 중요하다
7 = 중요하지 않다
rare.famous: mean = 3.7, median = 4.0 (n=10)
casual.famous: mean = 4.5, median = 5.0 (n=8)
active.famous: mean = 4.5, median = 4.0 (n=10)
pro.price: mean = 4.4, median = 4.5 (n=10)
영상을 적게 만드는 사람이 인지도를 중요하게 평가한다. 그러나 casual 이상으로 갔을 때 큰 차이는 없다.
anova 검정은 생략한다.
write.csv(r_fac_df, "./supertone_factor.csv")
write.csv(r_gen_df, "./supertone_genre.csv")