Code Monkey home page Code Monkey logo

shinyitemanalysis's People

Contributors

adelahladka avatar jakhou avatar lstepanek avatar patriciamar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

shinyitemanalysis's Issues

Testování dat

Pokud uživatel nenahraje 'group' aplikace poběží normálně, ale v DIF/Fairness sekci jsou vypsány pouze errory jednotlivých funkcí. Momentálně je v sekci Data upozornění na to, že analýza v DIF/Fairness nepoběží, ale errors nejsou nijak ošetřené. Zvážit přidání příkazu validate()
viz https://shiny.rstudio.com/articles/validation.html

Odkazování dat

Zkontrolovat v server.R odkazování dat.

Napr. line 1148 output$threeparamcoef , je to ok, ze se 3PL IRT model pevne fituje z dat GMAT2[, 1:20]?

Add corrplot / correlation structure

Consider adding a corplot or other measures of correlaton structure under Summary/Correlation Structure.

Code:
library(psych)
library(corrplot)
corP <- polychoric(data)
corrplot(corP$rho)
round(corP$rho,2)

Download plot/matrix

Popis dat

Je treba dodat obsahlejsi popis vzberu dat - chybi zminka, ze si uzivatel muze vybrat momentalne ze 3 datasetu z difNLR

data LF

Přidat LF data s 80 položkami

verze pro web

Upraveni verze pro web https://shiny.cs.cas.cz/ShinyItemAnalysis/
V zalozce vlevo by mela obsahovat

  • link na CRAN (nahore, tucne)
  • odkaz na grant
  • copyright
  • odkaz na verzi 0.1 (dole, mensim pismem, jen proto, ze pod timto linkem jsme vykazali do RIV starsi verzi a je nutne dat moznost se na ni z tohoto linku doklikat)
  • mozna i odkaz na verzi 0.2 (dole, mensim pismem)
  • counter

difR

Problem se skalovanim odhadnutych parametru z difLord a difRaju.

Cronbachovo alfa

Přidat Cronbachovo alfa do Traditional Analysis/Item Analysis

SD odhady v NLR

V nové verzi difNLR je změněn způsob fitování NLR modelu. Nyní se vychází z plného modelu (4PL model, kde všechny 4 parametry se mohou lišit pro dané skupiny) a při volbě podmodelu (např. 2PL, 3PL, ...) se pomocí funkce constrNLR() nastaví omezení (např. pro 2PL se fixně nastaví c = 0, d = 0, cDIF = 0 a dDIF = 0, pro 3PL zase d = 0, dDIF = 0). Model ovšem i pro tyto fixní koeficienty odhaduje SD a kovarianci mezi všemi 8 parametry, tj. např v neDIFové položce v našem 3PL modelu s guessingem shodným pro obě skupiny mají aDIF a bDIF nulovou hodnotu, ale nenulové SD (ve verzi 0.2.0 bylo SD = 0 ručně dopsáno, v menším modelu totiž tento parametr nebyl vůbec odhadován). Tyto nenulové hodnoty, stejně jako nenulové hodnoty kovariancí, ovlivní výsledné SD všech parametrů.

Je potřeba to nějak ošetřit, případně jak by se to mělo udělat?

VYŘEŠENO

Uprava cteni dat

Upravit kod na nacteni dat, aby bylo mozno nahrat i vice (resp. mene) polozkova data, nejen 20 polozkova

Reference

Přidat reference pro jednotlivé metody

Funkce

Oddělit funkce do samostatného souboru a přidat dokumentaci. Nabídnout v rámci balíku ShinyItemAnalysis

Data - tabulky

Vylepšit vzhled tabulek v sekci Data. Upravit tabulku key horizontálně. Změnit Item8 na i8 (sjednotit vzhled). Defaultně ukazovat 10 pozorování

Package

Zde sepisuju postup, jak budovat package. Asi bychom se jej měli všichni naučit ovládat, ať můžeme postupně kontrolovat, že vše probíhá, jak má :)

Zabalení je celkem jednoduché, člověk si otevře project v RStudiu a vpravo nahoře si otěvře záložku Build. Zde jsou možnosti Build&Reload, Check a More. Pomocí Check lze zkontrolovat, zda balíček neobsahuje žádné chyby či nesrovnalosti. Build&Reload pak package zabalí a nahraje do knihovny.

Aby byl balíček se vším všudy, musí obsahovat DESCRIPTION (popis balíku), NAMESPACE (závislost s jinými balíky), složku R (zde jsou všechny funkce), složku man (dokumentace funkcí), inst (shiny - server a ui).

Dokumentace funkcí i datasetů se vytváří v R souborech ve složce R pomocí speciální syntaxe (viz např. https://cran.r-project.org/web/packages/roxygen2/vignettes/rd.html). Pak se pomocí příkazu devtools::document() automaticky vytvoří Rd soubory obsahující dokumentaci. Check se dá pak provést příkazem devtools::check(document = FALSE, args = c('--as-cran')), kde --as-cran je klíčové, protože nás informuje o požadavcích CRANu. Samozřejmě se Check dá udělat i pomocí zmíněného tlačítka, je ale v More/Configure Build Tools dobré nastavit --as-cran pro Check Package - R CMD additional options.

Balíček nelze dát na CRAN pokud obsahuje byť jediný error/warning/note, je potřeba vše ošetřit. V logu je většinou celkem podrobně popsáno, kde je chyba. Jak chybu odstranit většinou hledám na stackoverflow.

difR bug

V difLogistic() je následující bug:
library(difNLR, difR)
data(GMAT)
fit <- difR::difLogistic(GMAT, 21, 1, p.adjust.method = "BH")
fit$DIFitems
[1] 1 2
ALE pro položku 7!!!
fit$logitPar[7, ]
(Intercept) SCORE GROUP SCORE:GROUP
-2.19638844 0.23828032 0.49264312 -0.02123276

Překlepy

Nacházím spoustu překlepů. Možná by bylo dobré, kdybychom všichni podrobně prošli před publikací texty a případné nedostatky odstranili

mirt package

Zkusit využívat mirt package pro IRT modely

Item slider

Sjednotit slidery pro Items, umístit tam, kde jsou potřeba (nad grafy), zatím chybí u DIF/IRT Lord a DIF/IRT Raju

R package

Odstranila jsem momentálně balíčky foreign, gridExtra a shinyAce z dependencies, jelikož to vypadá, že nejsou vůbec potřeba. Balíček jsem následně zkompilovala bez problémů. Pokud by u vás nastal nějaký problém, dejte mi vědět.

Package dependencies

Bylo by dobre zjistit, ktere balicky vyuzivaji ktere funkce. Jelikoz se nam seznam pouzitych balicku dost rozsiruje, stava se pri kompilovani balicku, ze dochazi ke kolizim v jmenech funkci. Napr existuje objekt alpha v ggplot2 a take funkce alpha v balicku psych. Pokud budeme vedet, ktere funkce nase aplikace vyuziva, lze to pak jednoduse specifikovat, co se ma natahnout a nebude dochazet k temto problemum, ktere mimo jine brani v publikovani na CRANu

Tabulka a grafy v DIF/IRT

Prozatim (jina moznost v difR neni) jsou zde uvedeny maximalni modely pro vsechny polozky (i neDIFove). Pomoci mirtu by se dal problem odstranit.

Zdrojový kód

Vypsat vybraný zdrojový kód k jednotlivým sekcím

Volba datasetů

Možnost volit jeden ze tří datasetů (GMAT, GMAT2, difMedical) z balíčku difNLR

Body v grafech

Přidat interpretaci bodů v obrázcích Regression a DIF/Fairness

záložka About

Zkontrolovat a doplnit seznam použitých packages.
Upravit seznam autorů nahoře i do Licence dole. Jakube prosím o fotografii, souhlasíte-li.

R code

Je potřeba upravit vybraný R kód tak, aby odpovídal nové verzi difNLR balíčku

Errors

Když běží shiny objevují se občas při vykreslování tabulek a grafů errory, které ovšem nevedou k spadnutí aplikace. Asi by ale bylo dobré jednotlivě je projít a pokud možno odstranit.

Slidery

Vypadá to, že slidery pro MH mají jinou strukturu v kódu než pro ostatní DIF metody. Bylo by dobré to v kódu sjednotit. Viz řádky kolem cca 350 v server.R.

IRT models

Možná bychom měli zvážit přidání

  • statistik na porovnání modelů (BIC, AIC, anova)
  • model fit, item/person fit,
  • možnost exportu factor scores (odhady znalostí, graf zcela dole).

Factor scores zaberou hodně času a asi by se první stránka dost zrychlila, kdyby byly počítány až po rozkliknutí nějaké option.

group

Ošetřit možnost, že uživatel nedodá group vektor

Download pdf

Allow for quick export of test and item analysis (preferably to pdf).

Default setting: Summary, Traditional Analysis, for each item: Distractor plot, Multionmial logistic regression. IRT section: 2PL IRT equation, plots, table. DIF section (if grouping parameter available): Total Scores, Delta plot, logistic table+plot of all DIF items.
(with possibility to check other options)

Deal with problem of possible long time response:
https://github.com/rstudio/shinyapps/issues/190
will most likely need some tuning: http://shiny.rstudio.com/articles/scaling-and-tuning.html

funkce plotDIFirt

Zlepsit funkci plotDIFirt aby slo jednoduse vkladat vystup difLord/difRaju/itemParEst atd.

Různá vylepšení - k diskuzi

Zakládám nové vlákno, kde můžeme navrhovat drobná zlepšení.

  • Zvážit, zda neodstranit odkazy na staré verze z dolního panelu. Ponechala bych je pouze v About sekci.
    HOTOVO, na jednom řádku

  • Nebylo by lepší začínat na záložce Data? Kdykoliv o tom mluvíme, vždy se začíná představením datových souborů
    HOTOVO

  • Je možno odstranit zakomentovaný kód? Nevím, jestli jej budeme ještě potřebovat?
    HOTOVO

  • v Items slideru je stupnice 1-3-5-7-9-12 atd., tedy mezi 9 a 12 jsou dvě čísla místo jednoho. Slider pak úplně přesně neodpovídá stupnici, např. pro 12 je spíš těsně za 12 atd. Navíc mezi ostatními čísly jsou dvě čárky, přitom je tam ale jen jedna hodnota (krom teda 9-12)

  • momentálně úplně chybí jakékoliv upozornění na chybějící group a tedy nemožnost spustit DIF analyzu
    Přidáno statické upozornění aspoň do DATA sekce

  • Rozšířit popisky datasetů v DATA sekci
    HOTOVO

  • Zvážit přidání záložky HOME resp upravit záložku ABOUT, kde by byl popisek a úvod k ShinyItemAnalysis. Zatím je popisek ponechán v Summary/Total scores
    Návrh viz pull request 104 - ABOUT section

  • Zvážit přidání comment section

  • Zvážit používání google analytics, abychom věděli, co uživatelé používají

  • U Summary/Standard Scores chybí jakýkoliv popisek
    PŘIDÁNO

  • Připadá mi, že Correlation Structure se spíš hodí pod Traditional Analysis než Summary. V Summary jsou pouze statistiky ohledně skórů, kdežto v Trad. An. jsou položky. Corr. Str. se týká ovšem korelací mezi položkami a se skóry (myslím) nepracuje
    Zatím přemístěno, Nyní na konci TA

  • Nebylo by dobré do nadpisu přidat název aplikace?
    Momentálně přidáno

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.