kitsUI:KIT 量尺建構工具

kitsUI 是 kits 的 Shiny 介面。 計算全部交給 kits,kitsUI 只負責畫面、檢查和下載。

四個頁面依序做:

  1. ① 資料:上傳長格式資料(可以一次好幾個檔,也收 .csv.gz),勾這一回合的世代與波次。
  2. ② 題目校準:沒有題庫時自由校準;有固定檔時,舊題固定在題庫的值,只估新題,並檢查偏移。 「固定了哪些題」列出每一題的狀態,並核對固定的值和題庫完全相同。
  3. ③ 連結:內部連結(其他世代 → 參照世代,KIT 是 M36 → M03)與外部連結(參照世代 → D,KIT 是 M03 → D); 每條連結只做一次,做好就凍結。參照世代在第一回合 ① 選;沒有 D 分數的錨題時,外部連結不適用。 垂直連結圖會接上之前回合的點。
  4. ④ 受試者評分:這一回合的分數、分數對照表、題目表,並下載新的固定檔(zip)。 題目表可以設定通過步驟(得分至少幾分算通過)。

下一回合上傳新的波次和上一回合的固定檔,從 ① 再做一次。 最後一頁「使用手冊」有完整的操作步驟與截圖(原稿在 tools/manual/)。 舊的參數不動,早先的分數也不重算。

一個回合可以一次勾好幾個波次。同一個量尺的各波合在一起做一次固定校準,偏移也合起來判斷。 已經收完的好幾波,建議一次勾;以後每次新收一波,再只勾那一波。 兩種做法的對照與 kitsUI 的處理流程,見使用手冊「任務二 → 一次加好幾波」。

每一版的改變

見 NEWS.md。

0.4.0 的新功能

這一版讓 KIT 以外的資料(例如世代不叫 M03、M36,或不是發展量表)也能從頭做到尾。 KIT 的資料照舊:示範資料 M03 + M36 兩回合的題庫、連結、分數和 0.3.12 完全相同(只有偏移紀錄的說明文字改了,見下面)。

0.3.8 的新功能

固定檔

④ 頁下載的 kitsui_fixed_R1.zip、kitsui_fixed_R2.zip… 是同一把尺。 下一回合一定要上傳它。請不要解壓縮後修改再壓縮:VERSION 記下每個檔案的 SHA-256,改過的檔案上傳時會被擋下來。

檔案 內容
VERSION 版本、建立日期、各回合名稱、參照世代(第一回合選的)、量尺、各回合的資料檔(md5)、波次的單位(WaveUnit,0.4.0 起;沒有這一行是月)、每個檔案的 SHA-256(Checksums,0.4.0 起)
bank.csv 題庫:每個量尺每一題每一步的 beta 與標準誤
versions.csv 題目版本:偏移的題原來的題號與新的題號
waves.csv 每個題庫校準過的波次
wave_summary.csv 各量尺、世代、波次的人數、能力值的 P25、中位數、P75(校準的量尺上)與實際月齡的中位數(0.3.11 起);只有摘要,沒有個人資料
pass_steps.csv 通過步驟;沒列的題用 1。下一回合沿用;新版本用原來那一題的設定
links.csv 連結的點與設定
checks.csv 每一回合的檢查紀錄(0.4.0 起多了 excluded:這一回合不做的量尺;drift not judged, kept fixed:不能判斷偏移、固定在題庫的值)
README.txt 固定檔的說明

安裝與執行

install.packages("pak")
# pak::pkg_install("jiewenTsai/kitsUI")
install.packages("kitsUI", repos = c('https://jiewentsai.r-universe.dev', 'https://cloud.r-project.org'))   # 會一起裝 kits、kitDesign,並把太舊的套件更新到需要的版本
kitsUI::run_kitsui()

pak 安裝失敗時,可以改用 remotes(upgrade = "always" 才會更新太舊的套件):

install.packages("remotes")
remotes::install_github("jiewenTsai/kitsUI", upgrade = "always")

Windows 也可以雙擊 run.bat:第一次會自動安裝需要的套件,之後每次打開都會檢查版本, 太舊的會自動更新(照 DESCRIPTION 寫的最低版本)。 打開時說「bslib 版本太舊」:在 R 執行 install.packages("bslib"),再重新開啟。 下載圖檔(HTML)需要 pandoc;裝了 RStudio 或 Quarto 就有。

資料格式

長格式,一列是一個列次(一個孩子的一個波次)的一題作答。

手上的資料是寬格式(一題一欄)、欄名不一樣,或分數不是從 0 開始時, 先用 kitJoin 的「kits 作答檔」轉好再上傳(本機版:在 R 執行 kitJoin::run_kitjoin(),資料不會離開這台電腦)。 ① 資料頁的上傳說明和紅字裡也有「開啟 kitJoin」按鈕。

欄位 必填 意思
visit_id 是 列次編號,每個孩子的每個波次不同
subj_id 否 孩子編號
cohort 是 世代,例如 M03、M36;名稱可以有空白
sex 否 性別
wave_m 是 波次。KIT 是施測月齡;也可以是年或波次序號(在 ① 第一回合選單位)
age_m 否 實際月齡
item_id 是 題號
item_score 是 得分,從 0 開始的整數
domain 是 領域,例如 lan、motor、cog

① 頁可以下載欄位範例檔。 外部連結用 kits::kits_anchors() 的錨題,領域名稱要和它一致(lan、motor、cog)。 參照世代沒有錨題時(例如不是發展量表),外部連結不適用,分數停在參照世代的量尺上(ref_score)。

雲端部署

app.R 是 Posit Connect Cloud 的主檔,manifest.json 記錄套件版本。 新增或移除 R/ 的檔案、或更新套件後,請重新產生 manifest.json:

rsconnect::writeManifest(appPrimaryDoc = "app.R")

雲端版只能上傳已去識別化的資料。

授權

GPL-3。