{"id":22761598,"url":"https://github.com/digoarthur/gui-for-r","last_synced_at":"2025-08-11T22:39:13.201Z","repository":{"id":214900047,"uuid":"737371838","full_name":"DIGOARTHUR/GUI-for-R","owner":"DIGOARTHUR","description":"Create a graphical interface for your functions in R and analyze them more dynamically.","archived":false,"fork":false,"pushed_at":"2024-01-03T12:06:29.000Z","size":155,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T11:16:24.061Z","etag":null,"topics":["gui","interface-builder","r","research","tcl-tk"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DIGOARTHUR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-30T19:42:17.000Z","updated_at":"2024-01-01T23:25:11.000Z","dependencies_parsed_at":"2023-12-31T22:49:05.221Z","dependency_job_id":"ab563c6f-c151-458b-887d-201396bb2621","html_url":"https://github.com/DIGOARTHUR/GUI-for-R","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"8267f40bdcece65532230ba8ca2e4a9a6d9bf0cb"},"previous_names":["digoarthur/gui-for-r"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIGOARTHUR%2FGUI-for-R","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIGOARTHUR%2FGUI-for-R/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIGOARTHUR%2FGUI-for-R/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIGOARTHUR%2FGUI-for-R/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DIGOARTHUR","download_url":"https://codeload.github.com/DIGOARTHUR/GUI-for-R/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246296615,"owners_count":20754635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","interface-builder","r","research","tcl-tk"],"created_at":"2024-12-11T09:14:01.416Z","updated_at":"2025-03-30T09:12:10.732Z","avatar_url":"https://github.com/DIGOARTHUR.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003c!--  docs: update Readme   --\u003e\n\n\n\u003c!-- VISUALIZAR NO README VSCODE  CTRL + K  V --\u003e\n\n\u003c!--------------------------------------------------------------------\u003e\n\u003c!-- COMO CONSTRUIR BADGES ---------\n\u003c!--------------------------------------------------------------------\nhttps://www.youtube.com/watch?v=cRoBt6AZgjc\nhttps://dev.to/envoy_/150-badges-for-github-pnk\n\n    BUILD \n      https://shields.io\n    ICONS\n    https://simpleicons.org/?q=react\n\n     EXEMPLO\n     \u003ca href=\"https://devdigoarthur.notion.site/Map-a87c73417a064372b122bf448f4c6ed4\"\u003e ![Alt ou título da imagem](https://img.shields.io/badge/-JavaScript-/?logo=JavaScript\u0026logoColor=white\u0026color=yellow)\u003ca/\u003e\n\n# JavaScript - Nome que aparece na Bag\n# logo=JavaScript - Muda a logo vide \u003chttps://simpleicons.org/?q=react\u003e\n# color=yellow - Define a cor da bag vide \u003chttps://shields.io\u003e\n# logoColor=white - Define a cor do icone\n--\u003e\n\n\n\n\n\n\n\u003c!------------------------------------ LANGUAGE BUTTONS--\u003e\n\u003c!--\n\u003cdiv align=\"right\"\u003e\n\u003ca href=\"https://github.com/DIGOARTHUR/github-automated-repos#readme\"\u003e\n    \u003cimg  height=\"35\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/257623321-95c81f57-b751-4956-b0ab-7a804ae44506.svg\" alt=\"language_USA\" border=\"0\"\u003e\n\u003ca/\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://github.com/DIGOARTHUR/github-automated-repos/blob/main/README_PT.md\"\u003e\n\u003cimg  alt=\"language_Brazil\"  height=\"35\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/277121999-ebbd8cff-f85a-49a6-aa6b-acd3fde2adb8.svg\"\u003e\n\u003ca/\u003e\n\n\u003c/div\u003e\n--\u003e\n\n\u003c!--------------------------------------------------------------------\u003e\n \u003c!------------------------------------BANNER PROJECT-----------------\u003e\n\u003c!-------------------------------------- 280 x 1400 ------------------------------\u003e\n\n\n\u003ch1 align=\"center\"\u003eGUI for R ft. Tcl/Tk\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \u003c!------------------------------------PROJECT ICON--------------------\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \u003cimg height=\"150px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/6873ccfa-7bfd-4ad8-a9df-17500dfb68cd\" /\u003e\n  \u003cbr\u003e\n  \u003ci\u003eCreate a graphical interface for your functions in R and analyze them more dynamically.\u003c/i\u003e\n\t\n\n  \u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\t\n\u003ci\u003e`based in`\u003c/i\u003e : \n\n\u003ccite\u003e[Dalgaard, Peter. \"A primer on the R-Tcl/Tk package.\" R News 1.3 (2001): 27-31.][3]\u003c/cite\u003e\n\n\u003ci\u003eand\u003c/i\u003e\n\n\u003ccite\u003e[midrangeMCP][4]\u003c/cite\u003e / [Repository](https://github.com/bendeivide/midrangeMCP/)\n\n\n\u003c/div\u003e\n\u003c/p\u003e\n\n\n\u003ch1 align=\"center\"\u003e\n \n\u003c/h1\u003e\n\u003c!--------------------------------------------------------------------\u003e\n \u003c!------------------------------------BADGES PROJECT  ----------------\u003e\n \u003c!--------------------------------------------------------------------\u003e\n\n  ![GitHub last commit](https://img.shields.io/github/last-commit/digoarthur/GUI-for-R\n)\n  ![GitHub](https://img.shields.io/github/license/digoarthur/GUI-for-R\n)\n\n\n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------DESCRIPTION---------------------\u003e\n   \u003c!---write here : talk a little about project: what's does, example.  --\u003e\n   \n# \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://user-images.githubusercontent.com/59892368/148622497-164365e8-f6b0-4f40-bc75-a0ed4da6059b.png\"\u003e  About Application\n---\n\u003e The creation of graphical interfaces is to facilitate user interaction with the resources that programming brings. \n\u003e In the R language, there is a library called tcl/tk responsible for generating widgets.\n\n---\n\n   \u003c!--------------------------------------------------------------------\u003e\n\u003c!------------------------------------LAYOUT ---------------------------\u003e\n \u003c!--------------------------------------------------------------------\u003e\n# \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://user-images.githubusercontent.com/59892368/149667468-f228e4e8-c2f0-474d-858d-6b9216f49b2f.png\"\u003e Example Interface \u003c!---write here : demonstration of the application layout.  --\u003e\n\n\u003cvideo  src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/293518922-acc87e71-0f6d-49bb-b648-8dae8b3d3350.mp4\"\u003e\u003c/video\u003e\n\n\n\n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------ABOUT TCL/TK---------------------\u003e\n   \u003c!----  ---------------------------------------------------------------\u003e\n   \n# \u003cimg  alt=\"skills\"  height=\"60\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/293519038-66e2d6b1-29aa-416d-9265-2195a1b026e9.svg\"\u003e  About Tcl/Tk\n\n\n\u003e (...) R does not incorporate a statistical graphical user interface (GUI), but it does include tools for building GUIs. \n\u003e Based on the tcltk package (which furnishes an interface to the Tcl/Tk GUI toolkit) (...)\n\u003e \n\u003e -- \u003ccite\u003e[FOX, J. The R Commander: A Basic-Statistics Graphical User Interface to R. Journal of Statistical Software, [S. l.], v. 14, n. 9, p. 1–42, 2005. DOI: 10.18637/jss.v014.i09.][1]\u003c/cite\u003e\n\n\u003e Tcl/Tk is a combination of a scripting language and a toolkit for graphical user interfaces. Since version 1.1.0, R has had a tcltk package to access the Tk\n\u003e toolkit, replacing Tcl code with R function calls \u003ccite\u003e[(Dalgaard, 2001)][2]\u003c/cite\u003e. There are still some design problems in it, but it is quite useful already in its current state.\n\u003e \n\u003e -- \u003ccite\u003e[Dalgaard, Peter. \"A primer on the R-Tcl/Tk package.\" R News 1.3 (2001): 27-31.][3]\u003c/cite\u003e\n\n\n\n\n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------EXAMPLE APPLICATION---------------------\u003e\n   \u003c!----  ---------------------------------------------------------------\u003e\n\n   ## \u003cimg  alt=\"skills\"  height=\"40\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/63153535-d412-4b54-ac45-edd38fd87b44\"\u003e  Example Application\n\n\n\n\t\n### Simple GUI application\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/34f9d034-1f3f-45e4-86b4-165f9c5c24f5\" /\u003e\n\u003c/div\u003e\n\n ```R\ntt \u003c- tktoplevel()\ntkwm.title(tt,'Simple GUI application')\ntkwm.geometry(tt, \"600x400\")\nlbl \u003c- tklabel(tt, text=\"Hello, World!\")\ntkpack(lbl)\n```\n\n----\n\n### Simple GUI application and Button\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/79f3106d-ab41-4fb2-bedd-ed8ec1342be4\" /\u003e\n\u003c/div\u003e\n\n ```R\nlibrary(tcltk)\ntt \u003c- tktoplevel()\ntkwm.title(tt,'Simple GUI application and Button')\nlbl \u003c- tklabel(tt, text=\"Hello, World!\")\ntkpack(lbl)\nbut \u003c- tkbutton(tt, text=\"OK\")\ntkpack(but)\n\n```\n\n----\n\n### Widget Directions\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/8ee56c55-3b3b-4f99-a5c7-12f5c04693ef\" /\u003e\n\u003c/div\u003e\n\n ```R\ntkdestroy(tt) # get rid of old example\ntt \u003c- tktoplevel()\ntkwm.title(tt,'Widget Directions')\nedge \u003c- c(\"top\",\"right\",\"bottom\",\"left\")\nbuttons \u003c- lapply(1:4,\n                  function(i) tkbutton(tt, text=edge[i]))\nfor ( i in 1:4 )\n  tkpack(buttons[[i]], side=edge[i],\n         fill=\"both\")\n```\n\n\n----\n\n### Grid Managers, Positions\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/6d950f74-9740-46aa-909e-b4c522b058da\" /\u003e\n\u003c/div\u003e\n\n ```R\nt2 \u003c- tktoplevel()\ntkwm.title(t2,'Grid Managers, Positions')\nheading \u003c- tklabel(t2, text=\"Registration form\")\nl.name \u003c- tklabel(t2, text=\"Name\")\nl.age \u003c- tklabel(t2, text=\"Age\")\ne.name \u003c- tkentry(t2, width=30)\ne.age \u003c- tkentry(t2, width=3)\ntkgrid(heading, columnspan=2)\ntkgrid(l.name, e.name)\ntkgrid(l.age, e.age)\ntkgrid.configure(e.name, e.age, sticky=\"w\")\ntkgrid.configure(l.name, l.age, sticky=\"e\")\n```\n\n\n----\n\n### Creating menus\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/1e7252b4-18c7-49ce-9014-e485c082cea6\" /\u003e\n\u003c/div\u003e\n\n\n\n```R\n# Creating menus\ntclvar$color\u003c-\"blue\"\ntt \u003c- tktoplevel()\ntkpack(mb \u003c- tkmenubutton(tt, text=\"Color\"))\nm \u003c- tkmenu(mb)\ntkwm.title(tt,'Creating menus')\ntkconfigure(mb,menu=m)\nfor ( i in c(\"red\", \"blue\", \"green\"))\n  tkadd(m, \"radio\", label=i, variable=\"color\",\n        value=i)\n```\n----\n\n\n### A simple application: Scripting widgets\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/a5523226-ca41-4b74-8374-13ea522ab012\" /\u003e\n\u003c/div\u003e\n\n ```R\ntkscript \u003c- function() {\n  wfile \u003c- \"\"\n  tt \u003c- tktoplevel()\n  tkwm.title(tt,'A simple application: Scripting\nwidgets\n')\n  txt \u003c- tktext(tt, height=10)\n  tkpack(txt)\n  save \u003c- function() {\n    file \u003c- tkcmd(\"tk_getSaveFile\",\n                  initialfile=tkcmd(\"file\", \"tail\", wfile),\n                  initialdir=tkcmd(\"file\", \"dirname\", wfile))\n    if (!length(file)) return()\n    chn \u003c- tkcmd(\"open\", file, \"w\")\n    tkcmd(\"puts\", chn, tkget(txt,\"0.0\",\"end\"))\n    tkcmd(\"close\", chn)\n    wfile \u003c\u003c- file\n  }\n  load \u003c- function() {\n    file \u003c- tkcmd(\"tk_getOpenFile\")\n    if (!length(file)) return()\n    chn \u003c- tkcmd(\"open\", file, \"r\")\n    tkinsert(txt, \"0.0\", tkcmd(\"read\", chn))\n    tkcmd(\"close\", chn)\n    wfile \u003c\u003c- file\n  }\n  run \u003c- function() {\n    code \u003c- tkget(txt,\"0.0\",\"end\")\n    e \u003c- try(parse(text=code))\n    if (inherits(e, \"try-error\")) {\n      tkcmd(\"tk_messageBox\",\n            message=\"Syntax error\",\n            icon=\"error\")\n      return()\n    }\n    cat(\"Executing from script window:\",\n        \"-----\", code, \"result:\", sep=\"\\n\")\n    print(eval(e))\n  }\n  topMenu \u003c- tkmenu(tt)\n\n  tkconfigure(tt, menu=topMenu)\n  fileMenu \u003c- tkmenu(topMenu, tearoff=FALSE)\n  tkadd(fileMenu, \"command\", label=\"Load\",\n        command=load)\n  tkadd(fileMenu, \"command\", label=\"Save\",\n        command=save)\n  tkadd(topMenu, \"cascade\", label=\"File\",\n        menu=fileMenu)\n  tkadd(topMenu, \"command\", label=\"Run\",\n        command=run)\n}\n\n```\n\n\n----\n\n### Canvas  \n\n   \u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/84af1954-7682-40b2-bc96-b6f1ddd56a77\" /\u003e\n\u003c/div\u003e\n\n```R\n# Main Window\nbase \u003c- tktoplevel(padx=10, pady=10)\ntkwm.geometry(base, \"600x400\")\n# Change title using tk window manager\ntkwm.title(base,'Canvas')\n# Main Window Frame\nmain_frame \u003c- tkframe(base, relief=\"sunken\", borderwidth = 1)\n\n# Canvas\ncanvas \u003c- tkcanvas(main_frame)\n\ntkpack(main_frame, canvas, fill = \"both\", expand=TRUE)\n#tkpack(main_frame, fill = \"both\", expand=TRUE)\n\ntkconfigure(canvas, \"-background\", \"#483D8B\")\n```\n\n\n\n\n\n  \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------MOTIVATION--------------------\u003e\n   \u003c!----  ---------------------------------------------------------------\u003e\n\n   ## \u003cimg  alt=\"skills\"  height=\"40\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/5f83a61f-3d98-40cb-8d77-9ac71327baf4\"\u003e  Motivation\n\nI built this repository to share with the community, especially those who work with the R Language, the possibility of building Graphical Interfaces. This project \u003ccite\u003e[midrangeMCP][4]\u003c/cite\u003e, the result of research at the Federal University of São João del-Rei, where I collaborated, was the beginning of research into a construction language for the application of Statistics functionalities . Through research we found Tcl/Tk. I hope it is of good use. Hugs.\n\nPS: I want to thank my Advisor [Ben Dêivide](https://bendeivide.github.io/#about), and my [Federal University of São João del-Rei](https://www.ufsj.edu.br). 💜\n\n\n\u003c/br\u003e\n\u003c/br\u003e\n\n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------REFERENCES--------------------\u003e\n   \u003c!----  ---------------------------------------------------------------\u003e\n\n   ## \u003cimg  alt=\"skills\"  height=\"40\" src=\"https://github.com/DIGOARTHUR/GUI-for-R/assets/59892368/a69874da-47a1-484a-b128-14632207685f\"\u003e  References\n\n   \n\u003ccite\u003e[FOX, J. The R Commander: A Basic-Statistics Graphical User Interface to R. Journal of Statistical Software, [S. l.], v. 14, n. 9, p. 1–42, 2005. DOI: 10.18637/jss.v014.i09.][1]\u003c/cite\u003e\n\n\u003ccite\u003e[Dalgaard, P. (2001). The R-tcl/tk interface. In Proceedings of DSC (Vol. 1, No. 2).][2]\u003c/cite\u003e\n\n\u003ccite\u003e[Dalgaard, P. (2001). A primer on the R-Tcl/Tk package. R News, 1(3), 27-31.][3]\u003c/cite\u003e\n\n\u003ccite\u003e[Ben Deivide and Daniel Furtado (NA). midrangeMCP: Multiples Comparisons Procedures Based on Studentized Midrange and Range Distributions.][4]\u003c/cite\u003e\n\n\u003ccite\u003e[Ospina G., J.  (2015). Uso de la librería TCL/TK en el desarrollo de una interfaz gráfica de usuario (GUI) en R. ][5]\u003c/cite\u003e\n\n\n\n\n\n\n\n\n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------REFERENCES---------------------\u003e\n   \u003c!----  ---------------------------------------------------------------\u003e\n   \n[1]: https://www.jstatsoft.org/article/view/v014i09\n[2]: https://www.r-project.org/conferences/DSC-2001/Proceedings/Dalgaard.pdf\n[3]: https://cran.uni-muenster.de/doc/Rnews/Rnews_2001-3.pdf#page=27\n[4]: https://bendeivide.github.io/midrangeMCP/\n[5]: https://bibliotecadigital.univalle.edu.co/entities/publication/4207e598-1091-4336-9a3d-263e2050212a\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigoarthur%2Fgui-for-r","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigoarthur%2Fgui-for-r","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigoarthur%2Fgui-for-r/lists"}