tidyft

Tidy Verbs for Fast Data Operations by Reference

https://github.com/hope-data-science/tidyft

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Tidy Verbs for Fast Data Operations by Reference

Basic Info
Statistics
  • Stars: 35
  • Watchers: 2
  • Forks: 3
  • Open Issues: 3
  • Releases: 0
Created over 6 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

tidyft: Fast and Memory Efficient Data Operations in Tidy Syntax

downloads

Overview

tidyft is an extension of data.table. Using modification by reference whenever possible, this toolkit is designed for big data analysis in high-performance desktop or laptop computers. The syntax of the package is similar or identical to tidyverse. It is user friendly, memory efficient and time saving. For more information, check its ancestor package tidyfst.

This design is best for big data manipulation on out of memory data using facilities provided by fst. In such ways, you can handle the most quantity of data in the least time and space on your computer.

Installation

You can install the released version of tidyft via:

r install.packages("tidyft")

Example

This is a basic example which shows you how to solve a common problem:

``` r library(tidyft)

get first 5 rows of iris

as.data.table(iris)[1:5] -> a

show

a

> Sepal.Length Sepal.Width Petal.Length Petal.Width Species

> 1: 5.1 3.5 1.4 0.2 setosa

> 2: 4.9 3.0 1.4 0.2 setosa

> 3: 4.7 3.2 1.3 0.2 setosa

> 4: 4.6 3.1 1.5 0.2 setosa

> 5: 5.0 3.6 1.4 0.2 setosa

if you select

a %>% select(1:3)

> Sepal.Length Sepal.Width Petal.Length

> 1: 5.1 3.5 1.4

> 2: 4.9 3.0 1.4

> 3: 4.7 3.2 1.3

> 4: 4.6 3.1 1.5

> 5: 5.0 3.6 1.4

you lose the unselected columns forever

a

> Sepal.Length Sepal.Width Petal.Length

> 1: 5.1 3.5 1.4

> 2: 4.9 3.0 1.4

> 3: 4.7 3.2 1.3

> 4: 4.6 3.1 1.5

> 5: 5.0 3.6 1.4

```

If you still want to keep the original data, use copy() to make a copy beforehand.

Tutorial

See vignettes.

Performance

``` rm(list = ls())

library(profvis) library(dplyr) library(tidyft) as.data.frame(starwars) -> starwars starwars[sample.int(1:nrow(starwars),1e6,replace = T),] -> starwars copy(starwars) -> dat1 copy(starwars) -> dat2 copy(starwars) -> dat3

profvis({ dat1 %>% dplyr::astibble() %>% dplyr::select(name, dplyr::endswith("color")) %>% dplyr::arrange(haircolor,skincolor,eye_color) -> a

setorder(setDT(dat2)[,.SD,.SDcols = patterns("name|color$")], haircolor,skincolor,eye_color) -> b

dat3 %>% tidyft::setDT() %>% tidyft::select("name|color$") %>% tidyft::arrange(haircolor,skincolor,eye_color) -> c

})

all.equal(a,b)

> [1] TRUE

all.equal(b,c)

> [1] TRUE

```

Owner

  • Name: Hope
  • Login: hope-data-science
  • Kind: user
  • Location: Beijing
  • Company: Chinese Academy of Sciences

Use R to change the world!

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 10
  • Total Committers: 1
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Hope 3****e@u****m 10

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 2
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: almost 2 years
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lluisfortes1 (1)
  • camnesia (1)
Pull Request Authors
  • hadley (4)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 299 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 3
  • Total maintainers: 1
cran.r-project.org: tidyft

Fast and Memory Efficient Data Operations in Tidy Syntax

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 299 Last month
Rankings
Stargazers count: 9.4%
Forks count: 14.3%
Average: 21.7%
Dependent repos count: 24.2%
Dependent packages count: 29.0%
Downloads: 31.3%
Maintainers (1)
Last synced: 12 months ago

Dependencies

DESCRIPTION cran
  • data.table >= 1.12.8 imports
  • fst >= 0.9.0 imports
  • stringr >= 1.4.0 imports
  • dplyr * suggests
  • knitr * suggests
  • profvis * suggests
  • rmarkdown * suggests