{"id":14069109,"url":"https://github.com/ThinkR-open/thinkr","last_synced_at":"2025-07-30T05:31:19.621Z","repository":{"id":8299863,"uuid":"57912039","full_name":"ThinkR-open/thinkr","owner":"ThinkR-open","description":"Some tools for cleaning up messy 'Excel' files to be suitable for R","archived":false,"fork":false,"pushed_at":"2022-08-22T13:19:07.000Z","size":715,"stargazers_count":29,"open_issues_count":3,"forks_count":21,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-27T13:56:39.089Z","etag":null,"topics":["cran","hacktoberfest","r-package","thinkr-not-maintained"],"latest_commit_sha":null,"homepage":"http://thinkr-open.github.io/thinkr/","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/ThinkR-open.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-02T18:38:48.000Z","updated_at":"2024-08-22T10:40:13.000Z","dependencies_parsed_at":"2022-07-22T01:02:08.343Z","dependency_job_id":null,"html_url":"https://github.com/ThinkR-open/thinkr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThinkR-open/thinkr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fthinkr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fthinkr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fthinkr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fthinkr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThinkR-open","download_url":"https://codeload.github.com/ThinkR-open/thinkr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkR-open%2Fthinkr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267815187,"owners_count":24148356,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cran","hacktoberfest","r-package","thinkr-not-maintained"],"created_at":"2024-08-13T07:06:36.729Z","updated_at":"2025-07-30T05:31:19.316Z","avatar_url":"https://github.com/ThinkR-open.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\nlibrary(thinkr)\nlibrary(dplyr)\n```\n\n\u003c!-- badges: start --\u003e\n[![R-CMD-check](https://github.com/ThinkR-open/thinkr/workflows/R-CMD-check/badge.svg)](https://github.com/ThinkR-open/thinkr/actions)\n[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/thinkr)](https://cran.r-project.org/package=thinkr)\n[![](http://cranlogs.r-pkg.org/badges/thinkr)](https://cran.r-project.org/package=thinkr)\n[![Coverage status](https://codecov.io/gh/ThinkR-open/thinkr/branch/master/graph/badge.svg)](https://codecov.io/github/ThinkR-open/thinkr?branch=master)\n\u003c!-- badges: end --\u003e\n\n\n\n\n```{r, echo=FALSE, out.width=\"250px\"}\nknitr::include_graphics(\"https://raw.githubusercontent.com/ThinkR-open/thinkr/master/inst/img/thinkr-hex-thinkr-package.png\")\n```\n\n# thinkr\n\n{thinkr} is a set of tools for Cleaning Up Messy Files.  \n\nIt contains some tools for cleaning up messy 'Excel' files to be suitable for R. People who have been working with 'Excel' for years built more or less complicated sheets with names, characters, formats that are not homogeneous. To be able to use them in R nowadays, we built a set of functions that will avoid the majority of importation problems and keep all the data at best.\n\n## Installation\n\nCRAN version\n```{r, eval=FALSE}\ninstall.packages(\"thinkr\")\n```\n\nGithub development version\n```{r, eval=FALSE}\n# install.packages(\"devtools\")\ndevtools::install_github(\"ThinkR-open/thinkr\")\n```\n\nOnce installed, you can load `{thinkr}`:\n\n```{r}\nlibrary(thinkr)\n```\n\nor without the package startup message:\n\n```{r}\nsuppressPackageStartupMessages(library(thinkr))\n```\n\n## Usage\n\n### `peep`\n`peep` function allows to print intermediate outputs inside a {dplyr}/`%\u003e%` workflow \n\n```{r}\ndata(iris)\n# just symbols\niris %\u003e%\n  peep(head, tail) %\u003e%\n  rename(species = Species) %\u003e%\n  summary()\n# expressions with .\niris %\u003e%\n  peep(head(., n = 2), tail(., n = 3)) %\u003e%\n  summary()\n# or both\niris %\u003e%\n  peep(head, tail(., n = 3)) %\u003e%\n  summary()\n# use verbose to see what happens\niris %\u003e%\n  peep(head, tail(., n = 3), verbose = TRUE) %\u003e%\n  summary()\n```\n\n### `clean_*`\n\nFunction `clean_names` allows to clean dirty names, while removing special characters, spaces, ...\n\n```{r}\ndata(iris)\n\niris %\u003e% head()\niris %\u003e%\n  clean_names() %\u003e%\n  head()\n```\n\nFunction `clean_vec` allows to clean character vectors, while removing special characters, spaces, ...\n\n```{r}\nvector \u003c- c(\"Jean Sébastien\", \"Anne-Sophie\", \"44@Bernard2\")\ncleaned \u003c- clean_vec(vector)\ncleaned\n```\n\n### Excel positions\n\nFind Excel column position name from column number and inversely\n\n```{r}\nncol_to_excel(6)\nexcel_to_ncol(\"AF\")\n```\n\n## Code of Conduct\n\nPlease note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/1/0/0/code-of-conduct.html). By participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThinkR-open%2Fthinkr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThinkR-open%2Fthinkr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThinkR-open%2Fthinkr/lists"}