Како направити интерактивне веб апликације са сјајним у Р

Kako Napraviti Interaktivne Veb Aplikacije Sa Sjajnim U R



Захваљујући Р Схини оквиру, пакету из РСтудиа, креирање динамичких веб апликација са Р је релативно лако. Предност Схини-а је у томе што омогућава постављање вашег Р кода на веб, чинећи га доступнијим ширем кругу корисника. Уз Р Схини, можете креирати веома моћне извештаје о подацима и визуелне приказе који омогућавају кориснику да анализира скуп података. Заједно са Схини компонентама, ХТМЛ елементи се могу користити за дизајнирање садржаја програма. Данашњи чланак вас води кроз процес изградње интерактивне веб апликације користећи Р-ов Схини пакет. За ово, уверите се да је „РСтудио“ већ инсталиран.

Инсталирајте Схини Пацкаге у РСтудио

Пре него што кренемо ка креирању интерактивне веб апликације у оквиру РСтудиа, требало би да имамо „Схини“ пакет већ инсталиран у њој. За ово морате да проширите мени „Алати“ у РСтудиу, а затим опцију „Инсталирај пакете“. У оквиру отвореног прозора морате да поменете пакет који желите да инсталирате, односно „сјајни“ и тапните на дугме „Инсталирај“. РСтудио ће инсталирати сјајни пакет у РСтудио конзолу.







Започните са Схини у Р

Да бисте започели са Схини у Р, потребно је да креирате нову Р датотеку користећи мени „Датотека“ који се налази на првом месту РСтудиа. Проширите га и користите опцију „Нова датотека“, а затим опцију „Р Сцрипт“. Фајл скрипте „без наслова“ ће се отворити у РСтудиу. Преименујте га у 'Р' датотеку на жељеној локацији.



Сада учитајте неопходне пакете потребне за прављење интерактивне апликације у Р, тј. користећи функцију „библиотека“ Р-а. Наредбе „иф“ се користе за инсталирање пакета који раније нису били инсталирани. Схини пакет се користи за изградњу интерактивног интерфејса за веб апликације заједно са неким графичким визуелизацијама. Пакет „дплир“ се углавном користи за олакшавање манипулације подацима у Р коришћењем неких корисних функција.



На крају, пакет „ггплот2“ се учитава као одличан извор визуелизације података креирањем прилагођених и моћних графикона.





ако ( ! рекуиреНамеспаце ( 'сјајни' , тихо = ИСТИНА ) ) {

инсталирај. пакети ( 'сјајни' )

}

ако ( ! рекуиреНамеспаце ( 'дплир' , тихо = ИСТИНА ) ) {

инсталирај. пакети ( 'дплир' )

}

ако ( ! рекуиреНамеспаце ( 'ггплот2' , тихо = ИСТИНА ) ) {

инсталирај. пакети ( 'ггплот2' )

}

библиотека ( сјајна )

библиотека ( дплир )

библиотека ( ггплот2 )

Направите интерактивни систем оцењивања испита

У оквиру овог туторијала, креираћемо „Систем оцењивања испита“ за студенте да добију своје постигнуте оцене путем оцена које су добијене од 100. Обезбеђена скрипта је „уи“ компонента Схини апликације која одређује дизајн и изглед Програм. Програм генерише флуидПаге, прилагодљив дизајн који се може скалирати да би се прилагодио прозору претраживача.

„ТитлеПанел“ и „сидебарЛаиоут“ су потомци „флуидПаге“. Наслов програма „Систем оцењивања испита“ је све што је приказано у „титлеПанелу“. „сидебарПанел“ и „маинПанел“ су два одељка која „сидебарЛаиоут“ користи да подели апликацију. Пар улаза је укључен у „Панел бочне траке“: „тектАреаИнпут“ под називом „резултат“ плус „ацтионБуттон“ под називом „израчунај“.



Један резултат по реду се може унети за сваког ученика користећи „тектАреаИнпут“. Процена оцене може да се покрене коришћењем „ацтионБуттон“. Пар излаза је присутан у „маинПанел“: „таблеОутпут“ под називом „Ресулт“ плус „плотОутпут“ под називом „РесултГрапх“. И „таблеОутпут“ и „плотОутпут“ ће представити налазе прорачуна у облику графикона.

уи <- флуидПаге (

титлеПанел ( „Систем оцењивања испита“ ) ,
сидебарЛаиоут (
сидебарПанел (
тектАреаИнпут ( 'резултат' , „Унесите резултате за ученике (један по реду):“ , '' ) ,
ацтионБуттон ( 'израчунај' , „Хајде да израчунамо оцене“ )
) ,
маинПанел (
таблеОутпут ( 'Резултат' ) ,
плотОутпут ( 'Графикон резултата' )
) ) )

Метод сервера успоставља логику на страни сервера апликације. Оцене за ученике се у почетку чувају у реактивној променљивој под називом „подаци“. За ово се дугме „израчунај“ надгледа методом „обсервеЕвент“ из Р. Након што се дугме активира, код иницијално конвертује вредности које су унете у поље за унос текста у нумеричке вредности.

Сваки резултат је праћен преломом реда користећи „\н“ да бисте унели нови резултат у следећем реду. Метод ставља било који резултат који пронађе у променљиву „подаци“. Ако корисник није унео резултат, метода приказује поруку са грешком.

сервер <- функција ( улаз излаз ) {

података <- реацтивеВал ( НУЛА )

обсервеЕвент ( унос$ израчунај, {

резултат <- као што. нумерички ( унлист ( стрсплит ( инпут$сцоре, ' ' ) ) )

ако ( дужина ( резултат ) > 0 ) {

података ( резултат )

} друго {

података ( НУЛА )

сховМодал ( модалДиалог (

наслов = 'Грешка' ,

„Грешка: Молимо додајте вредност!“ ,

еасиЦлосе = ИСТИНА

) )

}

} )

Два излаза, “оутпут$Ресулт” плус “оутпут$РесултГрапх”, су специфицирана да покажу оцене ученика и постигнуте оцене. Динамичка метода рендерТабле() производи табелу са подацима о ученичким оценама и оценама која је означена као „оутпут$Ресулт“. Метода рендерПлот(), која је такође реактивна, генерише тракасти графикон за оцене ученика и на сличан начин га чува у излазу „оутпут$РесултГрапх“.

Они ће, стога, бити прегледани сваки пут када се улазни подаци ажурирају. Израз иф (!ис.нулл(дата())) одређује да ли су подаци који се примају нулти. Скрипта изјаве „иф“ се изводи ако није празна. Вектор резултата за ученике чини улазне „податке“. Сваки ученик добија оцену на основу резултата користећи метод цасе_вхен(). Оквир података који садржи оцене ученика и тестове се креира помоћу методе дата.фраме(). Следеће колоне се додају у оквир података: „Ученик“, „Скор“ и „Оцена“. Дистрибуција оцена се компајлира у табели под називом „ГрадеЦоунт“ коришћењем методе табле().

оутпут$Резултат <- рендерТабле ( {

ако ( ! је. нула ( података ( ) ) ) {

оцене <- цасе_вхен (

података ( ) > 80 ~ 'А' ,

података ( ) > 60 ~ 'Б' ,

података ( ) > 40 ~ 'Ц' ,

података ( ) > 30 ~ 'Д' ,

ИСТИНА ~ 'Ф'

)

података. Рам ( Ученик = 1 : дужина ( података ( ) ) , Сцоре = података ( ) , Граде = оцене )

}

} )

оутпут$РесултГрапх <- рендерПлот ( {

ако ( ! је. нула ( података ( ) ) ) {

оцене <- цасе_вхен (

података ( ) > 80 ~ 'А' ,

података ( ) > 60 ~ 'Б' ,

података ( ) > 40 ~ 'Ц' ,

података ( ) > 30 ~ 'Д' ,

ИСТИНА ~ 'Ф'

)

ГрадеЦоунт <- сто ( оцене )

Тракасти графикон се креира помоћу библиотеке „ггплот2“. Цоунт (укупан број ученика који су добили сваку оцену) и колона Оцена су креирани у ДатаФраме-у. Ступасти графикон са подацима „Граде“ на „к-оси“ и „Број“ подацима на „и-оси“ је направљен коришћењем методе геом_бар(). Опција стат = “идентити” налаже ггплот2 да користи стварне податке без икакве трансформације. Наслов, ознака к-осе и ознака и-осе се додају методом „лабс“. Боје траке се додељују методом сцале_филл_мануал(). Непотребне линије мреже и компоненте преклапања се уклањају помоћу методе тхеме_минимал(). Метода схиниАпп(уи, сервер) прави апликацију.

ггплот ( података = података. Рам ( Оцена = имена ( ГрадеЦоунт ) , гроф = као што. нумерички ( ГрадеЦоунт ) ) ,
аес ( Икс = Оцена и = Преброј, напуни = Оцена ) ) +
геом_бар ( стат = 'идентитет' ) +
лабс ( наслов = 'Дистрибуција оцена' ,
Икс = 'оцена' ,
и = 'број' ) +
сцале_филл_мануал ( вредности = ц ( 'А' = 'зелен' , 'Б' = 'љубичаста' , 'Ц' = 'ружичаста' ,
'Д' = 'наранџаста' , 'Ф' = 'црвено' ) ) +
тхеме_минимал ( )
}
} )
}
схиниАпп ( уи, сервер )

Након покретања овог кода, добили смо интерактивни интерфејс где смо додали неке оцене и кликнули на дугме „Хајде да израчунамо оцене“.

Приказана је табела која садржи бодове и оцене ученика, а затим тракасти графикон расподеле оцена у различитим бојама.

Закључак

Овај водич објашњава важност употребе Схини пакета у Р језику преко РСтудиа. Да бисмо допунили наше објашњење, направили смо интерактивну веб апликацију за систем оцењивања ученика у Р коду користећи пакет „Схини“.