Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,4 +1,42 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
"원점수": raw_score,
|
3 |
"T점수": round(t_score, 2),
|
4 |
"백분위": round((raw_score - mean + 2 * sd) / (4 * sd) * 100, 2),
|
@@ -7,7 +45,7 @@ scores[scale] = {
|
|
7 |
|
8 |
# 결과 시각화
|
9 |
def visualize_results(scores):
|
10 |
-
scales = scores.keys()
|
11 |
t_scores = [scores[scale]["T점수"] for scale in scales]
|
12 |
|
13 |
plt.figure(figsize=(10, 6))
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import numpy as np
|
3 |
+
import matplotlib.pyplot as plt
|
4 |
+
|
5 |
+
# 질문 데이터: 기존 질문 + 추가 질문
|
6 |
+
QUESTIONS = [
|
7 |
+
"쉬운 일보다는 도전적인 일이 더 좋다.",
|
8 |
+
"나를 좋지 않게 대했던 사람들과도 친하게 지낸다.",
|
9 |
+
"음악을 듣거나 산책을 할 때 그 속에 빠져들어 나 자신을 잊는다.",
|
10 |
+
"종종 실제보다 일이 더 어렵거나 위험할 것이라고 예상한다.",
|
11 |
+
"내가 할 수 있는 한 더 잘 하고 싶기 때문에, 열심을 다해 나 자신을 몰아붙인다.",
|
12 |
+
"주머니가 바닥날 때까지 돈을 쓰거나, 신용카드를 너무 많이 사용해서 빚을 지는 때가 있다.",
|
13 |
+
"내가 가지고 있는 많은 습관들은 내가 가치 있는 목표를 달성하는 데 방해가 된다.",
|
14 |
+
"문제가 생기면 혼자서 해결하려 한다.",
|
15 |
+
"미래에 어떤 일이 잘못될까봐 자주 걱정한다.",
|
16 |
+
"별로 힘들이지 않고 하루 종일 활동할 수 있다.",
|
17 |
+
# 40개 이상의 질문을 여기에 추가
|
18 |
+
]
|
19 |
+
|
20 |
+
# 규준 점수 데이터
|
21 |
+
STANDARD_SCORES = {
|
22 |
+
"NS": {"M": 20, "SD": 5},
|
23 |
+
"HA": {"M": 18, "SD": 4},
|
24 |
+
"RD": {"M": 22, "SD": 6},
|
25 |
+
"PS": {"M": 19, "SD": 4},
|
26 |
+
"SD": {"M": 24, "SD": 6},
|
27 |
+
"CO": {"M": 26, "SD": 5},
|
28 |
+
"ST": {"M": 18, "SD": 5},
|
29 |
+
}
|
30 |
+
|
31 |
+
# 점수 계산 함수
|
32 |
+
def calculate_scores(responses):
|
33 |
+
scores = {}
|
34 |
+
for scale in STANDARD_SCORES.keys():
|
35 |
+
raw_score = sum(responses.get(scale, [])) # 원점수 합계
|
36 |
+
mean = STANDARD_SCORES[scale]["M"]
|
37 |
+
sd = STANDARD_SCORES[scale]["SD"]
|
38 |
+
t_score = 50 + 10 * (raw_score - mean) / sd
|
39 |
+
scores[scale] = {
|
40 |
"원점수": raw_score,
|
41 |
"T점수": round(t_score, 2),
|
42 |
"백분위": round((raw_score - mean + 2 * sd) / (4 * sd) * 100, 2),
|
|
|
45 |
|
46 |
# 결과 시각화
|
47 |
def visualize_results(scores):
|
48 |
+
scales = list(scores.keys())
|
49 |
t_scores = [scores[scale]["T점수"] for scale in scales]
|
50 |
|
51 |
plt.figure(figsize=(10, 6))
|