{"id":32206959,"url":"https://github.com/abusjahn/wrappedtools","last_synced_at":"2026-02-21T18:04:56.341Z","repository":{"id":89329950,"uuid":"132574321","full_name":"abusjahn/wrappedtools","owner":"abusjahn","description":"wrappedtools R package","archived":false,"fork":false,"pushed_at":"2025-09-04T17:53:38.000Z","size":1101,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-08T22:34:30.401Z","etag":null,"topics":["descriptive-statistics","package","r","rstats","test-statistic"],"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/abusjahn.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-05-08T07:55:20.000Z","updated_at":"2025-09-04T17:53:41.000Z","dependencies_parsed_at":"2024-08-01T12:09:10.400Z","dependency_job_id":"1e89ca31-285e-4327-b249-dd9558ade964","html_url":"https://github.com/abusjahn/wrappedtools","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/abusjahn/wrappedtools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abusjahn%2Fwrappedtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abusjahn%2Fwrappedtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abusjahn%2Fwrappedtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abusjahn%2Fwrappedtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abusjahn","download_url":"https://codeload.github.com/abusjahn/wrappedtools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abusjahn%2Fwrappedtools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29689644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["descriptive-statistics","package","r","rstats","test-statistic"],"created_at":"2025-10-22T05:41:24.008Z","updated_at":"2026-02-21T18:04:56.336Z","avatar_url":"https://github.com/abusjahn.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\neditor_options: \n  markdown: \n    wrap: 72\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# wrappedtools \u003cimg src=\"wrappedtools_hex.png\" align=\"right\" height=\"139\"/\u003e\n\n\u003c!-- ![](wrappedtools_hex.png \"wrappedtools hex\"){width=20%} --\u003e\n\n\u003c!-- badges: start --\u003e\n\n\u003c!-- badges: end --\u003e\n\nThe goal of 'wrappedtools' is to make my (and possibly your) life a bit\neasier by a set of convenience functions for many common tasks like e.g.\ncomputation of mean and SD and pasting them with ±. Instead of\\\npaste(round(mean(x),some_level), round(sd(x),some_level), sep='±')\\\na simple meansd(x, roundDig = some_level) is enough.\n\n## Installation\n\nYou can install the released version of 'wrappedtools' from CRAN or the\nlatest development version from github with:\n\n``` r\ndevtools::install_github(\"abusjahn/wrappedtools\")\n```\n\n```{r include=FALSE}\nlibrary(wrappedtools)\n```\n\n## Examples\n\nThis is a basic example which shows you how to solve a common problem,\nthat is, describe and test differences in some measures between 2\nsamples, rounding descriptive statistics to a reasonable precision in\nthe process:\n\n```{r example1}\n# Standard functions to obtain median and quartiles:\nmedian(mtcars$mpg)\nquantile(mtcars$mpg,probs = c(.25,.75))\n# wrappedtools adds rounding and pasting:\nmedian_quart(mtcars$mpg)\n# on a higher level, this logic leads to\ncompare2numvars(data = mtcars, dep_vars = c('wt','mpg', \"disp\"), \n                indep_var = 'am',\n                gaussian = FALSE,\n                round_desc = 3)\n```\n\nTo explain the **'wrapper'** part of the package name, here is another\nexample, using the ks.test as test for a Normal distribution, where\nksnormal simply wraps around the ks.test function:\n\n```{r example2}\nsomedata \u003c- rnorm(100)\nks.test(x = somedata, 'pnorm', mean=mean(somedata), sd=sd(somedata))\n\nksnormal(somedata)\n```\n\nSaving variable selections: Variables may fall into different groups:\nSome are following a Gaussian distribution, others are ordinal or\nfactorial. There may be several grouping variables like treatment,\ngender... To refer to such variables, it is convenient to have their\nindex and name stored. The name may be needed as character,\ncomplex variable names like \"size [cm]\" may need to be surrounded by\nbackticks in some function calls but must not have those in others. \nFunction ColSeeker finds columns in tibbles or dataframes, based on name\npattern and/or class. This is comparable to the selection helpers in 'tidyselect',\nbut does not select the content of matching variables, but names,\npositions, and count:\n\n```{r example3}\ngaussvars \u003c- ColSeeker(data = mtcars,\n                       namepattern = c('wt','mpg'))\ngaussvars\n\n#Exclusion based on pattern\nfactorvars \u003c- ColSeeker(mtcars,\n                        namepattern = c('a','cy'),\n                        exclude = c('t'))\nfactorvars$names #drat excluded\n\nColSeeker(mtcars,varclass = 'numeric')$names\n```\n\nWorkflow with ColSeeker and compare2numvars to describe and test a number of variables between 2 groups:  \n  \n```{r example4}\ncompare2numvars(data = mtcars,\n                dep_vars=gaussvars$names,\n                indep_var = 'am',\n                gaussian = TRUE)\n```\n\nThis should give you the general idea, I'll try to expand this intro\nover time...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabusjahn%2Fwrappedtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabusjahn%2Fwrappedtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabusjahn%2Fwrappedtools/lists"}