【R】tidytable

1. はじめに

tidytableは、tidyverseのような文法で、data.tableなみの速度で動かせるtableを扱えるパッケージです。

2. インストール

CRANからインストールできます。

install.packages("tidytable")

3. つかってみる

例にあるものを、そのまま実行してみます。

library(tidytable)

test_df <- data.table(x = 1:3, y = 4:6, z = c("a","a","b"))

test_df %>%
  select.(x, y, z) %>%
  filter.(x < 4, y > 1) %>%
  arrange.(x, y) %>%
  mutate.(double_x = x * 2,
          x_plus_y = x + y)
# A tidytable: 3 x 5
      x     y z     double_x x_plus_y
  <int> <int> <chr>    <dbl>    <int>
1     1     4 a            2        5
2     2     5 a            4        7
3     3     6 b            6        9

group_by()やseelct()も使えます。

test_df <- data.table(
  a = 1:10,
  c = c(rep("a",5), rep("b", 5))
)

test_df %>% 
  mutate.(b_2a = a * 2, b_3a = a * 3) %>% 
  group_by(c) %>%
  slice(2:7) %>%
  select.(a, starts_with("b"))%>%
  mutate(group_row_num = row_number()) %>%
  ungroup()
# A tidytable: 8 x 4
      a  b_2a  b_3a group_row_num
  <int> <dbl> <dbl>         <int>
1     2     4     6             1
2     3     6     9             2
3     4     8    12             3
4     5    10    15             4
5     7    14    21             5
6     8    16    24             6
7     9    18    27             7
8    10    20    30             8

4. さいごに

プログラミングでtidyな表を扱えていいですね。

Add a Comment

メールアドレスが公開されることはありません。