Learn R Programming

⚠️There's a newer version (0.1.8) of this package.Take me there.

tribe

Play with the tribe of attributes in R.

Installation

You can install tribe from GitHub with:

# install.packages("devtools")
devtools::install_github("paulponcet/tribe")

Verbs for easy manipulation of attributes

This package provides verbs for easy manipulation of attributes. These verbs are:

  • define to create or modify attributes;
  • keep to select attributes (and NULLify the others);
  • rebrand to rename attributes;
  • take to extract attributes.

The function tribe is a convenient synonym of attributes, with the slight difference that it always returns a named list.

library(magrittr)
library(tribe)

# Use 'define' to create or modify attributes
df <- data.frame(x = 1:2, y = 2:3) %>%
  define(example="yes", package="dplyr")
tribe(df)

# Use 'take' to extract attribute values
take(df, names)

# 'take_' is the standard evaluation version of 'take'
take_(df, "class")
take_(df, ~ package)

# Similarly 'define_' is the standard evaluation version of 'define'
df <- df %>%
  define_(package = ~ NULL,
          example = ~ "no")
tribe(df)

A new pipe that preserves attributes

The tribe package provides you with a new pipe %@>% that enables propagation of attributes.

library(dplyr)
library(tribe)

df <- data.frame(x = 1:2, y = 2:3) %>%
 define(example="yes",
        package="tribe", 
        class = c("my_tbl", "data.frame"))

# Attributes just created are lost when the object 
# passes through dplyr verbs
tribe(df %>% mutate(z=3))

# With the pipe '%@>%', most attributes are kept
tribe(df %@>% mutate(z=3))

# One can create a new pipe to adjust attributes propagation settings
"%newpipe>%" <- make_pipe(propagate="none", keep_also = "example")
tribe(df %newpipe>% mutate(z=3))

Copy Link

Version

Install

install.packages('tribe')

Monthly Downloads

8

Version

0.1.6

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Paul PONCET

Last Published

November 14th, 2017

Functions in tribe (0.1.6)

tribe

Object attribute list
at

Infix attribute accessor
define

Manipulate attributes in a dplyr fashion
make_pipe

Create a pipe operator.
shield

Attributes protection
stick_to

Work on a specific attribute within a pipeline