From 69c9e543e9e7e3db409466ed78330a2fc724b3a2 Mon Sep 17 00:00:00 2001 From: George Moroz Date: Tue, 30 Jul 2024 22:52:36 +0300 Subject: [PATCH] add 1/2 of 2. --- book/2_data_transformation.qmd | 309 +++++++- docs/2_data_transformation.html | 1191 ++++++++++++++++++++++++++++++- docs/search.json | 56 +- 3 files changed, 1505 insertions(+), 51 deletions(-) diff --git a/book/2_data_transformation.qmd b/book/2_data_transformation.qmd index efb2d08..d97558d 100644 --- a/book/2_data_transformation.qmd +++ b/book/2_data_transformation.qmd @@ -61,30 +61,52 @@ zhadina ```{r} zhadina |> - slice(c(5, 25, 3)) + slice(c(6, 25, 3)) zhadina |> - slice(5:25) + slice(6:25) +``` + +Стоит обратить внимание, что результат работы функции выводиться в консоль, чтобы сохранить результат работы, следует сделать операцию приписывания одним из следующих способов (первый наиболее распространенный): +```{r} new_zhadina <- zhadina |> - slice(5:25) + slice(6:25) zhadina |> - slice(5:25) -> + slice(6:25) -> new_zhadina +``` + +Кроме того, есть функции `slice_head()` и `slice_tail()`, которые выдают первое/последнее наблюдение. Аргумент `n` позволяет донастроить, сколько первых/последних наблюдений хочется вывести: +```{r} zhadina |> slice_head() zhadina |> slice_tail() +zhadina |> + slice_tail(n = 6) +``` + +Стоит отметить, что совпадение имени аргумента и названия столбца в нашем датасете (`n`) никак не влияет на работу функции. Также полезными могут быть функции `slice_max()` и `slice_min()`, которые выдают максимальное/минимальное значение переменной. У этой функции тоже есть аргумент `n`: + +```{r} zhadina |> slice_max(n) zhadina |> slice_min(n) +zhadina |> + slice_max(n, n = 3) +``` + +Функция `slice_sample()` позволяет вывести выборку из некоторого количества строчек (аргумент `n`) или долю строчек (аргумент `prop`): + +```{r} zhadina |> slice_sample(n = 10) @@ -92,20 +114,297 @@ zhadina |> slice_sample(prop = 0.3) ``` +## Функция `select()` + +Функция `select()` позволяет выбрать из датасета некоторый набор столбцов. + +```{r} +zhadina |> + select(word_1, type, n) +``` + +Внутри функции `select()` можно использовать функции, которые позволяют не только перечислять через запятую необходимые столбцы, но и выделять их по имени: + +```{r} +zhadina |> + select(starts_with("word")) +zhadina |> + select(ends_with("1")) -## Функции семейства `filter()` +zhadina |> + select(matches("ord")) +``` + +Кроме того, внутри функции `select()` действует оператор двоеточие, который мы видели при создании векторов `5:10`: + +```{r} +zhadina |> + select(word_3:n) # от колонки word_3 до колонки n +``` + +## Функция `filter()` + +Функция `filter()` позволяет отфильтровыввать строки таблицы по одному или нескольким условиям. + +```{r} +zhadina |> + filter(n > 100) + +zhadina |> + filter(n < 100) + +zhadina |> + filter(n <= 100) # меньше или равно + +zhadina |> + filter(n >= 100) # больше или равно + +zhadina |> + filter(n != 10) # не равно + +zhadina |> + filter(n == 10) # равно (дважды знак равно) + +zhadina |> + filter(word_3 == "шоколадина") + +zhadina |> + filter(word_3 != "шоколадина") + +zhadina |> + filter(nchar(word_3) == 7) +``` + +Кроме того, условия можно перечислить через запятую (аналог логического и): + +```{r} +zhadina |> + filter(n > 15, + n < 100) +``` + +Логическое "или" обозначается палочкой `|`: + +```{r} +zhadina |> + filter(n < 15 | n > 100) +``` ## Функции `count()`, `distinct()`, `arrange()` +Функция `count()` очень полезна в разведочном анализе, так как позволяет посчитать сколько какое значение переменной или группы переменных встретилось в датасете. Аргумент `sort` позволяет дополнительно отсортировать результат от большего к меньшего. + +```{r} +zhadina |> + count(word_3) + +zhadina |> + count(word_3, sort = TRUE) + +zhadina |> + count(word_1, word_2, sort = TRUE) +``` + +Функция `distinct()` позволяет вывести уникальное значение переменной или все уникальные комбинации значений нескольких переменных, встретившихся в датасете: + +```{r} +zhadina |> + distinct(word_3) + +zhadina |> + distinct(word_1, word_2) +``` + +Функция `arrange()` позволяет отсортировать одну или несколько переменных от меньшего к большему (если нужно наоборот --- используйте функцию `desc()`). Числовые переменные соритруются по значения, а строковые по алфавиту (с учетом особенностей локали): + +```{r} +zhadina |> + count(word_3) |> + arrange(n) + +zhadina |> + count(word_3) |> + arrange(desc(n)) + +zhadina |> + count(word_3) |> + arrange(-n) + +zhadina |> + count(word_3) |> + arrange(word_3) +``` + ## Функция `mutate()` +Функция `mutate()` позволяет создавать и изменять уже имеющиеся переменные: + +```{r} +zhadina |> + mutate(nchar = nchar(word_3), + nchar2 = nchar(word_3)*2) + +zhadina |> + mutate(n = n^3) +``` + ## Функция `group_by() |> summarise()` и `group_by() |> mutate()` +```{r} +zhadina |> + group_by(type) |> + summarise(mean_by_type = mean(n)) + +zhadina |> + group_by(type) |> + summarise(mean_by_type = mean(n), + median_by_type = median(n)) + +zhadina |> + group_by(type, word_3) |> + summarise(mean_by_type = mean(n), + median_by_type = median(n)) + +zhadina |> + group_by(type, word_3) |> + mutate(mean_by_type = mean(n), + median_by_type = median(n)) + +zhadina |> + group_by(type) |> + mutate(mean_by_type = mean(n), + median_by_type = median(n)) +``` + ## Функция `across()` +```{r} +zhadina |> + mutate(across(starts_with("word"), toupper)) + +zhadina |> + mutate(across(where(is.character), toupper)) + +set.seed(42) +zhadina |> + mutate(new_numeric_value = rnorm(26)) |> + group_by(type) |> + summarise(across(where(is.double), mean)) + +set.seed(42) +zhadina |> + mutate(new_numeric_value = rnorm(26)) |> + group_by(type) |> + summarise(n = mean(n), + new_numeric_value = mean(new_numeric_value)) + +zhadina |> + mutate(new_numeric_value = rnorm(26)) |> + group_by(type) |> + mutate(across(where(is.double), mean)) +``` + + ## Функции семейства `pivot_...()` +```{r} +india_langauges_wide <- read_csv("https://raw.githubusercontent.com/agricolamz/daR4hs/main/data/w2_india_languages.csv") + +india_langauges_wide |> + pivot_longer(names_to = "L", values_to = "value", n_L1_sp:n_all_sp) + +india_langauges_wide |> + pivot_longer(names_to = "L", values_to = "value", starts_with("n_")) |> + filter(L != "n_all_sp") |> + group_by(L) |> + summarise(sum = sum(value), + mean = mean(value)) + +india_langauges_wide |> + pivot_longer(names_to = "L", values_to = "value", starts_with("n_")) |> + filter(L != "n_all_sp") -> + india_langauges_long + +india_langauges_long |> + pivot_wider(names_from = "L", values_from = "value") + +india_langauges_long |> + slice_sample(n = 30) |> + pivot_wider(names_from = "L", values_from = "value", values_fill = 0) +``` + + ## Функции семейства `bind_...()` +```{r} +zhadina_new <- tibble(word_1 = "жадина-говядина", + word_2 = "пупецкий", + word_3 = "барабан", + type = "барабан", + n = 0) + +zhadina |> + bind_rows(zhadina_new) + +zhadina_additional_columns <- tibble(new_var1 = rnorm(26), + new_var2 = letters) + +zhadina |> + bind_cols(zhadina_additional_columns) +``` + ## Функции семейства `..._join()` {#sec-joins} + +```{r} +zhadina |> + distinct(type) |> + mutate(our_new_var1 = rnorm(4), + our_new_var2 = letters[1:4]) -> + type_new_var + +zhadina |> + left_join(type_new_var) + +zhadina |> + distinct(type) |> + mutate(our_new_var1 = rnorm(4), + our_new_var2 = letters[1:4]) |> + slice(-1) -> + type_new_var2 + +zhadina |> + left_join(type_new_var2) + +zhadina |> + distinct(type) |> + mutate(our_new_var1 = rnorm(4), + our_new_var2 = letters[1:4]) |> + slice(-1) |> + bind_rows(tibble(type = "карниз", + our_new_var1 = 0, + our_new_var2 = "R"))-> + type_new_var2 + +zhadina |> + left_join(type_new_var2) + +zhadina |> + full_join(type_new_var2) + +zhadina |> + anti_join(tibble(type = "шоколадина")) + + +zhadina |> + distinct(type) |> + mutate(our_new_var1 = rnorm(4), + our_new_var2 = letters[1:4]) |> + rename(new_type = type) -> + type_new_var3 + + +zhadina |> + left_join(type_new_var3, by = c("type" = "new_type")) +``` + diff --git a/docs/2_data_transformation.html b/docs/2_data_transformation.html index a5b6b7f..39a02f2 100644 --- a/docs/2_data_transformation.html +++ b/docs/2_data_transformation.html @@ -222,14 +222,15 @@

Table of contents

  • 2.1 tibble
  • 2.2 Использование конвеера (пайпа)
  • 2.3 Функции семейства slice()
  • -
  • 2.4 Функции семейства filter()
  • -
  • 2.5 Функции count(), distinct(), arrange()
  • -
  • 2.6 Функция mutate()
  • -
  • 2.7 Функция group_by() |> summarise() и group_by() |> mutate()
  • -
  • 2.8 Функция across()
  • -
  • 2.9 Функции семейства pivot_...()
  • -
  • 2.10 Функции семейства bind_...()
  • -
  • 2.11 Функции семейства ..._join()
  • +
  • 2.4 Функция select()
  • +
  • 2.5 Функция filter()
  • +
  • 2.6 Функции count(), distinct(), arrange()
  • +
  • 2.7 Функция mutate()
  • +
  • 2.8 Функция group_by() |> summarise() и group_by() |> mutate()
  • +
  • 2.9 Функция across()
  • +
  • 2.10 Функции семейства pivot_...()
  • +
  • 2.11 Функции семейства bind_...()
  • +
  • 2.12 Функции семейства ..._join()
  • @@ -293,12 +294,12 @@

    +
    zhadina |> 
    +  slice(c(6, 25, 3))
    +
    +
    # A tibble: 3 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина гнилая   шоколадина шоколадина    12
    +2 жадина-говядина турецкий барабан    барабан     3003
    +3 жадина-говядина булка    шоколадина шоколадина   250
    +
    +
    zhadina |> 
    +  slice(6:25)
    +
    +
    # A tibble: 20 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина гнилая   шоколадина шоколадина    12
    + 2 жадина-говядина дома     шоколадина шоколадина    29
    + 3 жадина-говядина зеленый  огурец     огурец       343
    + 4 жадина-говядина злая     шоколадина шоколадина    10
    + 5 жадина-говядина кислая   капуста    другое        10
    + 6 жадина-говядина кошка    поросятина другое        42
    + 7 жадина-говядина кошка    шоколадина шоколадина    18
    + 8 жадина-говядина никто ее не ест     другое        10
    + 9 жадина-говядина кусок    шоколадины шоколадина   113
    +10 жадина-говядина на пузе  барабан    барабан       14
    +11 жадина-говядина немецкий барабан    барабан       12
    +12 жадина-говядина *опа     шоколадина шоколадина   299
    +13 жадина-говядина простая  шоколадина шоколадина    59
    +14 жадина-говядина пустая   шоколадина шоколадина  3774
    +15 жадина-говядина соленый  барабан    барабан       11
    +16 жадина-говядина соленый  огурец     огурец     26910
    +17 жадина-говядина соленый  помидор    другое        17
    +18 жадина-говядина сухая    шоколадина шоколадина    16
    +19 жадина-говядина тупая    шоколадина шоколадина    50
    +20 жадина-говядина турецкий барабан    барабан     3003
    +
    + +

    Стоит обратить внимание, что результат работы функции выводиться в консоль, чтобы сохранить результат работы, следует сделать операцию приписывания одним из следующих способов (первый наиболее распространенный):

    +
    +
    new_zhadina <- zhadina |> 
    +  slice(6:25)
    +
    +zhadina |> 
    +  slice(6:25) ->
    +  new_zhadina
    +
    +

    Кроме того, есть функции slice_head() и slice_tail(), которые выдают первое/последнее наблюдение. Аргумент n позволяет донастроить, сколько первых/последних наблюдений хочется вывести:

    +
    +
    zhadina |> 
    +  slice_head()
    +
    +
    # A tibble: 1 × 5
    +  word_1          word_2  word_3     type           n
    +  <chr>           <chr>   <chr>      <chr>      <dbl>
    +1 жадина-говядина большая шоколадина шоколадина   941
    +
    +
    zhadina |> 
    +  slice_tail()
    +
    +
    # A tibble: 1 × 5
    +  word_1          word_2   word_3  type       n
    +  <chr>           <chr>    <chr>   <chr>  <dbl>
    +1 жадина-говядина турецкий таракан другое    13
    +
    +
    zhadina |> 
    +  slice_tail(n = 6)
    +
    +
    # A tibble: 6 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина соленый  огурец     огурец     26910
    +2 жадина-говядина соленый  помидор    другое        17
    +3 жадина-говядина сухая    шоколадина шоколадина    16
    +4 жадина-говядина тупая    шоколадина шоколадина    50
    +5 жадина-говядина турецкий барабан    барабан     3003
    +6 жадина-говядина турецкий таракан    другое        13
    +
    +
    +

    Стоит отметить, что совпадение имени аргумента и названия столбца в нашем датасете (n) никак не влияет на работу функции. Также полезными могут быть функции slice_max() и slice_min(), которые выдают максимальное/минимальное значение переменной. У этой функции тоже есть аргумент n:

    +
    +
    zhadina |> 
    +  slice_max(n)
    +
    +
    # A tibble: 1 × 5
    +  word_1          word_2  word_3 type       n
    +  <chr>           <chr>   <chr>  <chr>  <dbl>
    +1 жадина-говядина соленый огурец огурец 26910
    +
    +
    zhadina |> 
    +  slice_min(n)
    +
    +
    # A tibble: 3 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина злая     шоколадина шоколадина    10
    +2 жадина-говядина кислая   капуста    другое        10
    +3 жадина-говядина никто ее не ест     другое        10
    +
    +
    zhadina |> 
    +  slice_max(n, n = 3)
    +
    +
    # A tibble: 3 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина соленый  огурец     огурец     26910
    +2 жадина-говядина пустая   шоколадина шоколадина  3774
    +3 жадина-говядина турецкий барабан    барабан     3003
    +
    +
    +

    Функция slice_sample() позволяет вывести выборку из некоторого количества строчек (аргумент n) или долю строчек (аргумент prop):

    +
    +
    zhadina |> 
    +  slice_sample(n = 10)
    +
    +
    # A tibble: 10 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина булка    шоколадина шоколадина   250
    + 2 жадина-говядина дома     шоколадина шоколадина    29
    + 3 жадина-говядина соленый  помидор    другое        17
    + 4 жадина-говядина бука     шоколадина шоколадина    44
    + 5 жадина-говядина кошка    шоколадина шоколадина    18
    + 6 жадина-говядина кусок    шоколадины шоколадина   113
    + 7 жадина-говядина никто ее не ест     другое        10
    + 8 жадина-говядина кошка    поросятина другое        42
    + 9 жадина-говядина пустая   шоколадина шоколадина  3774
    +10 жадина-говядина в *опе   огурец     огурец        11
    +
    +
    zhadina |> 
    +  slice_sample(prop = 0.3)
    +
    +
    # A tibble: 7 × 5
    +  word_1          word_2  word_3     type           n
    +  <chr>           <chr>   <chr>      <chr>      <dbl>
    +1 жадина-говядина в *опе  огурец     огурец        11
    +2 жадина-говядина кошка   поросятина другое        42
    +3 жадина-говядина простая шоколадина шоколадина    59
    +4 жадина-говядина в *опе  шоколадина шоколадина  1117
    +5 жадина-говядина дома    шоколадина шоколадина    29
    +6 жадина-говядина злая    шоколадина шоколадина    10
    +7 жадина-говядина кислая  капуста    другое        10
    +
    +
    -
    -

    2.4 Функции семейства filter()

    +
    +

    2.4 Функция select()

    +

    Функция select() позволяет выбрать из датасета некоторый набор столбцов.

    +
    +
    zhadina |> 
    +  select(word_1, type, n)
    +
    +
    # A tibble: 26 × 3
    +   word_1          type           n
    +   <chr>           <chr>      <dbl>
    + 1 жадина-говядина шоколадина   941
    + 2 жадина-говядина шоколадина    44
    + 3 жадина-говядина шоколадина   250
    + 4 жадина-говядина огурец        11
    + 5 жадина-говядина шоколадина  1117
    + 6 жадина-говядина шоколадина    12
    + 7 жадина-говядина шоколадина    29
    + 8 жадина-говядина огурец       343
    + 9 жадина-говядина шоколадина    10
    +10 жадина-говядина другое        10
    +# ℹ 16 more rows
    +
    +
    +

    Внутри функции select() можно использовать функции, которые позволяют не только перечислять через запятую необходимые столбцы, но и выделять их по имени:

    +
    +
    zhadina |> 
    +  select(starts_with("word"))
    +
    +
    # A tibble: 26 × 3
    +   word_1          word_2  word_3    
    +   <chr>           <chr>   <chr>     
    + 1 жадина-говядина большая шоколадина
    + 2 жадина-говядина бука    шоколадина
    + 3 жадина-говядина булка   шоколадина
    + 4 жадина-говядина в *опе  огурец    
    + 5 жадина-говядина в *опе  шоколадина
    + 6 жадина-говядина гнилая  шоколадина
    + 7 жадина-говядина дома    шоколадина
    + 8 жадина-говядина зеленый огурец    
    + 9 жадина-говядина злая    шоколадина
    +10 жадина-говядина кислая  капуста   
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  select(ends_with("1"))
    +
    +
    # A tibble: 26 × 1
    +   word_1         
    +   <chr>          
    + 1 жадина-говядина
    + 2 жадина-говядина
    + 3 жадина-говядина
    + 4 жадина-говядина
    + 5 жадина-говядина
    + 6 жадина-говядина
    + 7 жадина-говядина
    + 8 жадина-говядина
    + 9 жадина-говядина
    +10 жадина-говядина
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  select(matches("ord"))
    +
    +
    # A tibble: 26 × 3
    +   word_1          word_2  word_3    
    +   <chr>           <chr>   <chr>     
    + 1 жадина-говядина большая шоколадина
    + 2 жадина-говядина бука    шоколадина
    + 3 жадина-говядина булка   шоколадина
    + 4 жадина-говядина в *опе  огурец    
    + 5 жадина-говядина в *опе  шоколадина
    + 6 жадина-говядина гнилая  шоколадина
    + 7 жадина-говядина дома    шоколадина
    + 8 жадина-говядина зеленый огурец    
    + 9 жадина-говядина злая    шоколадина
    +10 жадина-говядина кислая  капуста   
    +# ℹ 16 more rows
    +
    +
    +

    Кроме того, внутри функции select() действует оператор двоеточие, который мы видели при создании векторов 5:10:

    +
    +
    zhadina |> 
    +  select(word_3:n) # от колонки word_3 до колонки n
    +
    +
    # A tibble: 26 × 3
    +   word_3     type           n
    +   <chr>      <chr>      <dbl>
    + 1 шоколадина шоколадина   941
    + 2 шоколадина шоколадина    44
    + 3 шоколадина шоколадина   250
    + 4 огурец     огурец        11
    + 5 шоколадина шоколадина  1117
    + 6 шоколадина шоколадина    12
    + 7 шоколадина шоколадина    29
    + 8 огурец     огурец       343
    + 9 шоколадина шоколадина    10
    +10 капуста    другое        10
    +# ℹ 16 more rows
    +
    +
    -
    -

    2.5 Функции count(), distinct(), arrange()

    +
    +

    2.5 Функция filter()

    +

    Функция filter() позволяет отфильтровыввать строки таблицы по одному или нескольким условиям.

    +
    +
    zhadina |> 
    +  filter(n > 100)
    +
    +
    # A tibble: 9 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина большая  шоколадина шоколадина   941
    +2 жадина-говядина булка    шоколадина шоколадина   250
    +3 жадина-говядина в *опе   шоколадина шоколадина  1117
    +4 жадина-говядина зеленый  огурец     огурец       343
    +5 жадина-говядина кусок    шоколадины шоколадина   113
    +6 жадина-говядина *опа     шоколадина шоколадина   299
    +7 жадина-говядина пустая   шоколадина шоколадина  3774
    +8 жадина-говядина соленый  огурец     огурец     26910
    +9 жадина-говядина турецкий барабан    барабан     3003
    +
    +
    zhadina |> 
    +  filter(n < 100)
    +
    +
    # A tibble: 17 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина бука     шоколадина шоколадина    44
    + 2 жадина-говядина в *опе   огурец     огурец        11
    + 3 жадина-говядина гнилая   шоколадина шоколадина    12
    + 4 жадина-говядина дома     шоколадина шоколадина    29
    + 5 жадина-говядина злая     шоколадина шоколадина    10
    + 6 жадина-говядина кислая   капуста    другое        10
    + 7 жадина-говядина кошка    поросятина другое        42
    + 8 жадина-говядина кошка    шоколадина шоколадина    18
    + 9 жадина-говядина никто ее не ест     другое        10
    +10 жадина-говядина на пузе  барабан    барабан       14
    +11 жадина-говядина немецкий барабан    барабан       12
    +12 жадина-говядина простая  шоколадина шоколадина    59
    +13 жадина-говядина соленый  барабан    барабан       11
    +14 жадина-говядина соленый  помидор    другое        17
    +15 жадина-говядина сухая    шоколадина шоколадина    16
    +16 жадина-говядина тупая    шоколадина шоколадина    50
    +17 жадина-говядина турецкий таракан    другое        13
    +
    +
    zhadina |> 
    +  filter(n <= 100) # меньше или равно
    +
    +
    # A tibble: 17 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина бука     шоколадина шоколадина    44
    + 2 жадина-говядина в *опе   огурец     огурец        11
    + 3 жадина-говядина гнилая   шоколадина шоколадина    12
    + 4 жадина-говядина дома     шоколадина шоколадина    29
    + 5 жадина-говядина злая     шоколадина шоколадина    10
    + 6 жадина-говядина кислая   капуста    другое        10
    + 7 жадина-говядина кошка    поросятина другое        42
    + 8 жадина-говядина кошка    шоколадина шоколадина    18
    + 9 жадина-говядина никто ее не ест     другое        10
    +10 жадина-говядина на пузе  барабан    барабан       14
    +11 жадина-говядина немецкий барабан    барабан       12
    +12 жадина-говядина простая  шоколадина шоколадина    59
    +13 жадина-говядина соленый  барабан    барабан       11
    +14 жадина-говядина соленый  помидор    другое        17
    +15 жадина-говядина сухая    шоколадина шоколадина    16
    +16 жадина-говядина тупая    шоколадина шоколадина    50
    +17 жадина-говядина турецкий таракан    другое        13
    +
    +
    zhadina |> 
    +  filter(n >= 100) # больше или равно
    +
    +
    # A tibble: 9 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина большая  шоколадина шоколадина   941
    +2 жадина-говядина булка    шоколадина шоколадина   250
    +3 жадина-говядина в *опе   шоколадина шоколадина  1117
    +4 жадина-говядина зеленый  огурец     огурец       343
    +5 жадина-говядина кусок    шоколадины шоколадина   113
    +6 жадина-говядина *опа     шоколадина шоколадина   299
    +7 жадина-говядина пустая   шоколадина шоколадина  3774
    +8 жадина-говядина соленый  огурец     огурец     26910
    +9 жадина-говядина турецкий барабан    барабан     3003
    +
    +
    zhadina |> 
    +  filter(n != 10) # не равно
    +
    +
    # A tibble: 23 × 5
    +   word_1          word_2  word_3     type           n
    +   <chr>           <chr>   <chr>      <chr>      <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина   941
    + 2 жадина-говядина бука    шоколадина шоколадина    44
    + 3 жадина-говядина булка   шоколадина шоколадина   250
    + 4 жадина-говядина в *опе  огурец     огурец        11
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12
    + 7 жадина-говядина дома    шоколадина шоколадина    29
    + 8 жадина-говядина зеленый огурец     огурец       343
    + 9 жадина-говядина кошка   поросятина другое        42
    +10 жадина-говядина кошка   шоколадина шоколадина    18
    +# ℹ 13 more rows
    +
    +
    zhadina |> 
    +  filter(n == 10) # равно (дважды знак равно)
    +
    +
    # A tibble: 3 × 5
    +  word_1          word_2   word_3     type           n
    +  <chr>           <chr>    <chr>      <chr>      <dbl>
    +1 жадина-говядина злая     шоколадина шоколадина    10
    +2 жадина-говядина кислая   капуста    другое        10
    +3 жадина-говядина никто ее не ест     другое        10
    +
    +
    zhadina |> 
    +  filter(word_3 == "шоколадина")
    +
    +
    # A tibble: 13 × 5
    +   word_1          word_2  word_3     type           n
    +   <chr>           <chr>   <chr>      <chr>      <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина   941
    + 2 жадина-говядина бука    шоколадина шоколадина    44
    + 3 жадина-говядина булка   шоколадина шоколадина   250
    + 4 жадина-говядина в *опе  шоколадина шоколадина  1117
    + 5 жадина-говядина гнилая  шоколадина шоколадина    12
    + 6 жадина-говядина дома    шоколадина шоколадина    29
    + 7 жадина-говядина злая    шоколадина шоколадина    10
    + 8 жадина-говядина кошка   шоколадина шоколадина    18
    + 9 жадина-говядина *опа    шоколадина шоколадина   299
    +10 жадина-говядина простая шоколадина шоколадина    59
    +11 жадина-говядина пустая  шоколадина шоколадина  3774
    +12 жадина-говядина сухая   шоколадина шоколадина    16
    +13 жадина-говядина тупая   шоколадина шоколадина    50
    +
    +
    zhadina |> 
    +  filter(word_3 != "шоколадина")
    +
    +
    # A tibble: 13 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина в *опе   огурец     огурец        11
    + 2 жадина-говядина зеленый  огурец     огурец       343
    + 3 жадина-говядина кислая   капуста    другое        10
    + 4 жадина-говядина кошка    поросятина другое        42
    + 5 жадина-говядина никто ее не ест     другое        10
    + 6 жадина-говядина кусок    шоколадины шоколадина   113
    + 7 жадина-говядина на пузе  барабан    барабан       14
    + 8 жадина-говядина немецкий барабан    барабан       12
    + 9 жадина-говядина соленый  барабан    барабан       11
    +10 жадина-говядина соленый  огурец     огурец     26910
    +11 жадина-говядина соленый  помидор    другое        17
    +12 жадина-говядина турецкий барабан    барабан     3003
    +13 жадина-говядина турецкий таракан    другое        13
    +
    +
    zhadina |> 
    +  filter(nchar(word_3) == 7)
    +
    +
    # A tibble: 7 × 5
    +  word_1          word_2   word_3  type        n
    +  <chr>           <chr>    <chr>   <chr>   <dbl>
    +1 жадина-говядина кислая   капуста другое     10
    +2 жадина-говядина на пузе  барабан барабан    14
    +3 жадина-говядина немецкий барабан барабан    12
    +4 жадина-говядина соленый  барабан барабан    11
    +5 жадина-говядина соленый  помидор другое     17
    +6 жадина-говядина турецкий барабан барабан  3003
    +7 жадина-говядина турецкий таракан другое     13
    +
    +
    +

    Кроме того, условия можно перечислить через запятую (аналог логического и):

    +
    +
    zhadina |> 
    +  filter(n > 15,
    +         n < 100)
    +
    +
    # A tibble: 8 × 5
    +  word_1          word_2  word_3     type           n
    +  <chr>           <chr>   <chr>      <chr>      <dbl>
    +1 жадина-говядина бука    шоколадина шоколадина    44
    +2 жадина-говядина дома    шоколадина шоколадина    29
    +3 жадина-говядина кошка   поросятина другое        42
    +4 жадина-говядина кошка   шоколадина шоколадина    18
    +5 жадина-говядина простая шоколадина шоколадина    59
    +6 жадина-говядина соленый помидор    другое        17
    +7 жадина-говядина сухая   шоколадина шоколадина    16
    +8 жадина-говядина тупая   шоколадина шоколадина    50
    +
    +
    +

    Логическое “или” обозначается палочкой |:

    +
    +
    zhadina |> 
    +  filter(n < 15 | n > 100)
    +
    +
    # A tibble: 18 × 5
    +   word_1          word_2   word_3     type           n
    +   <chr>           <chr>    <chr>      <chr>      <dbl>
    + 1 жадина-говядина большая  шоколадина шоколадина   941
    + 2 жадина-говядина булка    шоколадина шоколадина   250
    + 3 жадина-говядина в *опе   огурец     огурец        11
    + 4 жадина-говядина в *опе   шоколадина шоколадина  1117
    + 5 жадина-говядина гнилая   шоколадина шоколадина    12
    + 6 жадина-говядина зеленый  огурец     огурец       343
    + 7 жадина-говядина злая     шоколадина шоколадина    10
    + 8 жадина-говядина кислая   капуста    другое        10
    + 9 жадина-говядина никто ее не ест     другое        10
    +10 жадина-говядина кусок    шоколадины шоколадина   113
    +11 жадина-говядина на пузе  барабан    барабан       14
    +12 жадина-говядина немецкий барабан    барабан       12
    +13 жадина-говядина *опа     шоколадина шоколадина   299
    +14 жадина-говядина пустая   шоколадина шоколадина  3774
    +15 жадина-говядина соленый  барабан    барабан       11
    +16 жадина-говядина соленый  огурец     огурец     26910
    +17 жадина-говядина турецкий барабан    барабан     3003
    +18 жадина-говядина турецкий таракан    другое        13
    +
    +
    -
    -

    2.6 Функция mutate()

    +
    +

    2.6 Функции count(), distinct(), arrange()

    +

    Функция count() очень полезна в разведочном анализе, так как позволяет посчитать сколько какое значение переменной или группы переменных встретилось в датасете. Аргумент sort позволяет дополнительно отсортировать результат от большего к меньшего.

    +
    +
    zhadina |> 
    +  count(word_3)
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 барабан        4
    +2 капуста        1
    +3 не ест         1
    +4 огурец         3
    +5 помидор        1
    +6 поросятина     1
    +7 таракан        1
    +8 шоколадина    13
    +9 шоколадины     1
    +
    +
    zhadina |> 
    +  count(word_3, sort = TRUE)
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 шоколадина    13
    +2 барабан        4
    +3 огурец         3
    +4 капуста        1
    +5 не ест         1
    +6 помидор        1
    +7 поросятина     1
    +8 таракан        1
    +9 шоколадины     1
    +
    +
    zhadina |> 
    +  count(word_1, word_2, sort = TRUE)
    +
    +
    # A tibble: 21 × 3
    +   word_1          word_2       n
    +   <chr>           <chr>    <int>
    + 1 жадина-говядина соленый      3
    + 2 жадина-говядина в *опе       2
    + 3 жадина-говядина кошка        2
    + 4 жадина-говядина турецкий     2
    + 5 жадина-говядина *опа         1
    + 6 жадина-говядина большая      1
    + 7 жадина-говядина бука         1
    + 8 жадина-говядина булка        1
    + 9 жадина-говядина гнилая       1
    +10 жадина-говядина дома         1
    +# ℹ 11 more rows
    +
    +
    +

    Функция distinct() позволяет вывести уникальное значение переменной или все уникальные комбинации значений нескольких переменных, встретившихся в датасете:

    +
    +
    zhadina |> 
    +  distinct(word_3)
    +
    +
    # A tibble: 9 × 1
    +  word_3    
    +  <chr>     
    +1 шоколадина
    +2 огурец    
    +3 капуста   
    +4 поросятина
    +5 не ест    
    +6 шоколадины
    +7 барабан   
    +8 помидор   
    +9 таракан   
    +
    +
    zhadina |> 
    +  distinct(word_1, word_2)
    +
    +
    # A tibble: 21 × 2
    +   word_1          word_2 
    +   <chr>           <chr>  
    + 1 жадина-говядина большая
    + 2 жадина-говядина бука   
    + 3 жадина-говядина булка  
    + 4 жадина-говядина в *опе 
    + 5 жадина-говядина гнилая 
    + 6 жадина-говядина дома   
    + 7 жадина-говядина зеленый
    + 8 жадина-говядина злая   
    + 9 жадина-говядина кислая 
    +10 жадина-говядина кошка  
    +# ℹ 11 more rows
    +
    +
    +

    Функция arrange() позволяет отсортировать одну или несколько переменных от меньшего к большему (если нужно наоборот — используйте функцию desc()). Числовые переменные соритруются по значения, а строковые по алфавиту (с учетом особенностей локали):

    +
    +
    zhadina |> 
    +  count(word_3) |> 
    +  arrange(n)
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 капуста        1
    +2 не ест         1
    +3 помидор        1
    +4 поросятина     1
    +5 таракан        1
    +6 шоколадины     1
    +7 огурец         3
    +8 барабан        4
    +9 шоколадина    13
    +
    +
    zhadina |> 
    +  count(word_3) |> 
    +  arrange(desc(n))
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 шоколадина    13
    +2 барабан        4
    +3 огурец         3
    +4 капуста        1
    +5 не ест         1
    +6 помидор        1
    +7 поросятина     1
    +8 таракан        1
    +9 шоколадины     1
    +
    +
    zhadina |> 
    +  count(word_3) |> 
    +  arrange(-n)
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 шоколадина    13
    +2 барабан        4
    +3 огурец         3
    +4 капуста        1
    +5 не ест         1
    +6 помидор        1
    +7 поросятина     1
    +8 таракан        1
    +9 шоколадины     1
    +
    +
    zhadina |> 
    +  count(word_3) |> 
    +  arrange(word_3)
    +
    +
    # A tibble: 9 × 2
    +  word_3         n
    +  <chr>      <int>
    +1 барабан        4
    +2 капуста        1
    +3 не ест         1
    +4 огурец         3
    +5 помидор        1
    +6 поросятина     1
    +7 таракан        1
    +8 шоколадина    13
    +9 шоколадины     1
    +
    +
    +
    +
    +

    2.7 Функция mutate()

    +

    Функция mutate() позволяет создавать и изменять уже имеющиеся переменные:

    +
    +
    zhadina |> 
    +  mutate(nchar = nchar(word_3),
    +         nchar2 = nchar(word_3)*2)
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n nchar nchar2
    +   <chr>           <chr>   <chr>      <chr>      <dbl> <int>  <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина   941    10     20
    + 2 жадина-говядина бука    шоколадина шоколадина    44    10     20
    + 3 жадина-говядина булка   шоколадина шоколадина   250    10     20
    + 4 жадина-говядина в *опе  огурец     огурец        11     6     12
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117    10     20
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12    10     20
    + 7 жадина-говядина дома    шоколадина шоколадина    29    10     20
    + 8 жадина-говядина зеленый огурец     огурец       343     6     12
    + 9 жадина-говядина злая    шоколадина шоколадина    10    10     20
    +10 жадина-говядина кислая  капуста    другое        10     7     14
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  mutate(n = n^3)
    +
    +
    # A tibble: 26 × 5
    +   word_1          word_2  word_3     type                n
    +   <chr>           <chr>   <chr>      <chr>           <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина  833237621
    + 2 жадина-говядина бука    шоколадина шоколадина      85184
    + 3 жадина-говядина булка   шоколадина шоколадина   15625000
    + 4 жадина-говядина в *опе  огурец     огурец           1331
    + 5 жадина-говядина в *опе  шоколадина шоколадина 1393668613
    + 6 жадина-говядина гнилая  шоколадина шоколадина       1728
    + 7 жадина-говядина дома    шоколадина шоколадина      24389
    + 8 жадина-говядина зеленый огурец     огурец       40353607
    + 9 жадина-говядина злая    шоколадина шоколадина       1000
    +10 жадина-говядина кислая  капуста    другое           1000
    +# ℹ 16 more rows
    +
    +
    -
    -

    2.7 Функция group_by() |> summarise() и group_by() |> mutate()

    +
    +

    2.8 Функция group_by() |> summarise() и group_by() |> mutate()

    +
    +
    zhadina |> 
    +  group_by(type) |> 
    +  summarise(mean_by_type = mean(n))
    +
    +
    # A tibble: 4 × 2
    +  type       mean_by_type
    +  <chr>             <dbl>
    +1 барабан           760  
    +2 другое             18.4
    +3 огурец           9088  
    +4 шоколадина        481. 
    +
    +
    zhadina |> 
    +  group_by(type) |> 
    +  summarise(mean_by_type = mean(n),
    +            median_by_type = median(n))
    +
    +
    # A tibble: 4 × 3
    +  type       mean_by_type median_by_type
    +  <chr>             <dbl>          <dbl>
    +1 барабан           760             13  
    +2 другое             18.4           13  
    +3 огурец           9088            343  
    +4 шоколадина        481.            54.5
    +
    +
    zhadina |> 
    +  group_by(type, word_3) |> 
    +  summarise(mean_by_type = mean(n),
    +            median_by_type = median(n))
    +
    +
    `summarise()` has grouped output by 'type'. You can override using the
    +`.groups` argument.
    +
    +
    +
    # A tibble: 9 × 4
    +# Groups:   type [4]
    +  type       word_3     mean_by_type median_by_type
    +  <chr>      <chr>             <dbl>          <dbl>
    +1 барабан    барабан            760              13
    +2 другое     капуста             10              10
    +3 другое     не ест              10              10
    +4 другое     помидор             17              17
    +5 другое     поросятина          42              42
    +6 другое     таракан             13              13
    +7 огурец     огурец            9088             343
    +8 шоколадина шоколадина         509.             50
    +9 шоколадина шоколадины         113             113
    +
    +
    zhadina |> 
    +  group_by(type, word_3) |> 
    +  mutate(mean_by_type = mean(n),
    +         median_by_type = median(n))
    +
    +
    # A tibble: 26 × 7
    +# Groups:   type, word_3 [9]
    +   word_1          word_2  word_3     type         n mean_by_type median_by_type
    +   <chr>           <chr>   <chr>      <chr>    <dbl>        <dbl>          <dbl>
    + 1 жадина-говядина большая шоколадина шоколад…   941         509.             50
    + 2 жадина-говядина бука    шоколадина шоколад…    44         509.             50
    + 3 жадина-говядина булка   шоколадина шоколад…   250         509.             50
    + 4 жадина-говядина в *опе  огурец     огурец      11        9088             343
    + 5 жадина-говядина в *опе  шоколадина шоколад…  1117         509.             50
    + 6 жадина-говядина гнилая  шоколадина шоколад…    12         509.             50
    + 7 жадина-говядина дома    шоколадина шоколад…    29         509.             50
    + 8 жадина-говядина зеленый огурец     огурец     343        9088             343
    + 9 жадина-говядина злая    шоколадина шоколад…    10         509.             50
    +10 жадина-говядина кислая  капуста    другое      10          10              10
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  group_by(type) |> 
    +  mutate(mean_by_type = mean(n),
    +         median_by_type = median(n))
    +
    +
    # A tibble: 26 × 7
    +# Groups:   type [4]
    +   word_1          word_2  word_3     type         n mean_by_type median_by_type
    +   <chr>           <chr>   <chr>      <chr>    <dbl>        <dbl>          <dbl>
    + 1 жадина-говядина большая шоколадина шоколад…   941        481.            54.5
    + 2 жадина-говядина бука    шоколадина шоколад…    44        481.            54.5
    + 3 жадина-говядина булка   шоколадина шоколад…   250        481.            54.5
    + 4 жадина-говядина в *опе  огурец     огурец      11       9088            343  
    + 5 жадина-говядина в *опе  шоколадина шоколад…  1117        481.            54.5
    + 6 жадина-говядина гнилая  шоколадина шоколад…    12        481.            54.5
    + 7 жадина-говядина дома    шоколадина шоколад…    29        481.            54.5
    + 8 жадина-говядина зеленый огурец     огурец     343       9088            343  
    + 9 жадина-говядина злая    шоколадина шоколад…    10        481.            54.5
    +10 жадина-говядина кислая  капуста    другое      10         18.4           13  
    +# ℹ 16 more rows
    +
    +
    -
    -

    2.8 Функция across()

    +
    +

    2.9 Функция across()

    +
    +
    zhadina |> 
    +  mutate(across(starts_with("word"), toupper))
    +
    +
    # A tibble: 26 × 5
    +   word_1          word_2  word_3     type           n
    +   <chr>           <chr>   <chr>      <chr>      <dbl>
    + 1 ЖАДИНА-ГОВЯДИНА БОЛЬШАЯ ШОКОЛАДИНА шоколадина   941
    + 2 ЖАДИНА-ГОВЯДИНА БУКА    ШОКОЛАДИНА шоколадина    44
    + 3 ЖАДИНА-ГОВЯДИНА БУЛКА   ШОКОЛАДИНА шоколадина   250
    + 4 ЖАДИНА-ГОВЯДИНА В *ОПЕ  ОГУРЕЦ     огурец        11
    + 5 ЖАДИНА-ГОВЯДИНА В *ОПЕ  ШОКОЛАДИНА шоколадина  1117
    + 6 ЖАДИНА-ГОВЯДИНА ГНИЛАЯ  ШОКОЛАДИНА шоколадина    12
    + 7 ЖАДИНА-ГОВЯДИНА ДОМА    ШОКОЛАДИНА шоколадина    29
    + 8 ЖАДИНА-ГОВЯДИНА ЗЕЛЕНЫЙ ОГУРЕЦ     огурец       343
    + 9 ЖАДИНА-ГОВЯДИНА ЗЛАЯ    ШОКОЛАДИНА шоколадина    10
    +10 ЖАДИНА-ГОВЯДИНА КИСЛАЯ  КАПУСТА    другое        10
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  mutate(across(where(is.character), toupper))
    +
    +
    # A tibble: 26 × 5
    +   word_1          word_2  word_3     type           n
    +   <chr>           <chr>   <chr>      <chr>      <dbl>
    + 1 ЖАДИНА-ГОВЯДИНА БОЛЬШАЯ ШОКОЛАДИНА ШОКОЛАДИНА   941
    + 2 ЖАДИНА-ГОВЯДИНА БУКА    ШОКОЛАДИНА ШОКОЛАДИНА    44
    + 3 ЖАДИНА-ГОВЯДИНА БУЛКА   ШОКОЛАДИНА ШОКОЛАДИНА   250
    + 4 ЖАДИНА-ГОВЯДИНА В *ОПЕ  ОГУРЕЦ     ОГУРЕЦ        11
    + 5 ЖАДИНА-ГОВЯДИНА В *ОПЕ  ШОКОЛАДИНА ШОКОЛАДИНА  1117
    + 6 ЖАДИНА-ГОВЯДИНА ГНИЛАЯ  ШОКОЛАДИНА ШОКОЛАДИНА    12
    + 7 ЖАДИНА-ГОВЯДИНА ДОМА    ШОКОЛАДИНА ШОКОЛАДИНА    29
    + 8 ЖАДИНА-ГОВЯДИНА ЗЕЛЕНЫЙ ОГУРЕЦ     ОГУРЕЦ       343
    + 9 ЖАДИНА-ГОВЯДИНА ЗЛАЯ    ШОКОЛАДИНА ШОКОЛАДИНА    10
    +10 ЖАДИНА-ГОВЯДИНА КИСЛАЯ  КАПУСТА    ДРУГОЕ        10
    +# ℹ 16 more rows
    +
    +
    set.seed(42)
    +zhadina |> 
    +  mutate(new_numeric_value = rnorm(26)) |> 
    +  group_by(type) |> 
    +  summarise(across(where(is.double), mean))
    +
    +
    # A tibble: 4 × 3
    +  type            n new_numeric_value
    +  <chr>       <dbl>             <dbl>
    +1 барабан     760              0.929 
    +2 другое       18.4           -0.472 
    +3 огурец     9088              0.0772
    +4 шоколадина  481.             0.190 
    +
    +
    set.seed(42)
    +zhadina |> 
    +  mutate(new_numeric_value = rnorm(26)) |> 
    +  group_by(type) |> 
    +  summarise(n = mean(n),
    +            new_numeric_value = mean(new_numeric_value))
    +
    +
    # A tibble: 4 × 3
    +  type            n new_numeric_value
    +  <chr>       <dbl>             <dbl>
    +1 барабан     760              0.929 
    +2 другое       18.4           -0.472 
    +3 огурец     9088              0.0772
    +4 шоколадина  481.             0.190 
    +
    +
    zhadina |> 
    +  mutate(new_numeric_value = rnorm(26)) |> 
    +  group_by(type) |> 
    +  mutate(across(where(is.double), mean))
    +
    +
    # A tibble: 26 × 6
    +# Groups:   type [4]
    +   word_1          word_2  word_3     type            n new_numeric_value
    +   <chr>           <chr>   <chr>      <chr>       <dbl>             <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина  481.            -0.0562
    + 2 жадина-говядина бука    шоколадина шоколадина  481.            -0.0562
    + 3 жадина-говядина булка   шоколадина шоколадина  481.            -0.0562
    + 4 жадина-говядина в *опе  огурец     огурец     9088             -0.687 
    + 5 жадина-говядина в *опе  шоколадина шоколадина  481.            -0.0562
    + 6 жадина-говядина гнилая  шоколадина шоколадина  481.            -0.0562
    + 7 жадина-говядина дома    шоколадина шоколадина  481.            -0.0562
    + 8 жадина-говядина зеленый огурец     огурец     9088             -0.687 
    + 9 жадина-говядина злая    шоколадина шоколадина  481.            -0.0562
    +10 жадина-говядина кислая  капуста    другое       18.4           -0.851 
    +# ℹ 16 more rows
    +
    +
    -
    -

    2.9 Функции семейства pivot_...()

    +
    +

    2.10 Функции семейства pivot_...()

    +
    +
    india_langauges_wide <- read_csv("https://raw.githubusercontent.com/agricolamz/daR4hs/main/data/w2_india_languages.csv")
    +
    +
    Rows: 12 Columns: 5
    +── Column specification ────────────────────────────────────────────────────────
    +Delimiter: ","
    +chr (1): language
    +dbl (4): n_L1_sp, n_L2_sp, n_L3_sp, n_all_sp
    +
    +ℹ Use `spec()` to retrieve the full column specification for this data.
    +ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
    +
    +
    india_langauges_wide |> 
    +  pivot_longer(names_to = "L", values_to = "value", n_L1_sp:n_all_sp)
    +
    +
    # A tibble: 48 × 3
    +   language L            value
    +   <chr>    <chr>        <dbl>
    + 1 Hindi    n_L1_sp  422048642
    + 2 Hindi    n_L2_sp   98207180
    + 3 Hindi    n_L3_sp   31160696
    + 4 Hindi    n_all_sp 551416518
    + 5 English  n_L1_sp     226449
    + 6 English  n_L2_sp   86125221
    + 7 English  n_L3_sp   38993066
    + 8 English  n_all_sp 125344736
    + 9 Bengali  n_L1_sp   83369769
    +10 Bengali  n_L2_sp    6637222
    +# ℹ 38 more rows
    +
    +
    india_langauges_wide |> 
    +  pivot_longer(names_to = "L", values_to = "value", starts_with("n_")) |> 
    +  filter(L != "n_all_sp") |> 
    +  group_by(L) |> 
    +  summarise(sum = sum(value),
    +            mean = mean(value))
    +
    +
    # A tibble: 3 × 3
    +  L             sum      mean
    +  <chr>       <dbl>     <dbl>
    +1 n_L1_sp 914028136 76169011.
    +2 n_L2_sp 241705317 20142110.
    +3 n_L3_sp  83551664  6962639.
    +
    +
    india_langauges_wide |> 
    +  pivot_longer(names_to = "L", values_to = "value", starts_with("n_")) |> 
    +  filter(L != "n_all_sp") ->
    +  india_langauges_long
    +
    +india_langauges_long |> 
    +  pivot_wider(names_from = "L", values_from = "value")
    +
    +
    # A tibble: 12 × 4
    +   language    n_L1_sp  n_L2_sp  n_L3_sp
    +   <chr>         <dbl>    <dbl>    <dbl>
    + 1 Hindi     422048642 98207180 31160696
    + 2 English      226449 86125221 38993066
    + 3 Bengali    83369769  6637222  1108088
    + 4 Telugu     74002856  9723626  1266019
    + 5 Marathi    71936894  9546414  2701498
    + 6 Tamil      60793814  4992253   956335
    + 7 Urdu       51536111  6535489  1007912
    + 8 Kannada    37924011 11455287  1396428
    + 9 Gujarati   46091617  3476355   703989
    +10 Odia       33017446  3272151   319525
    +11 Malayalam  33066392   499188   195885
    +12 Sanskrit      14135  1234931  3742223
    +
    +
    india_langauges_long |> 
    +  slice_sample(n = 30) |> 
    +  pivot_wider(names_from = "L", values_from = "value", values_fill = 0)
    +
    +
    # A tibble: 12 × 4
    +   language   n_L2_sp  n_L3_sp   n_L1_sp
    +   <chr>        <dbl>    <dbl>     <dbl>
    + 1 English   86125221 38993066         0
    + 2 Urdu       6535489  1007912  51536111
    + 3 Tamil      4992253   956335  60793814
    + 4 Gujarati         0   703989  46091617
    + 5 Marathi    9546414        0  71936894
    + 6 Sanskrit   1234931  3742223     14135
    + 7 Kannada          0  1396428  37924011
    + 8 Odia             0   319525  33017446
    + 9 Telugu     9723626  1266019  74002856
    +10 Bengali    6637222  1108088  83369769
    +11 Malayalam   499188   195885  33066392
    +12 Hindi            0 31160696 422048642
    +
    +
    -
    -

    2.10 Функции семейства bind_...()

    +
    +

    2.11 Функции семейства bind_...()

    +
    +
    zhadina_new <- tibble(word_1 = "жадина-говядина",
    +                      word_2 = "пупецкий",
    +                      word_3 = "барабан",
    +                      type = "барабан",
    +                      n = 0)
    +
    +zhadina |> 
    +  bind_rows(zhadina_new)
    +
    +
    # A tibble: 27 × 5
    +   word_1          word_2  word_3     type           n
    +   <chr>           <chr>   <chr>      <chr>      <dbl>
    + 1 жадина-говядина большая шоколадина шоколадина   941
    + 2 жадина-говядина бука    шоколадина шоколадина    44
    + 3 жадина-говядина булка   шоколадина шоколадина   250
    + 4 жадина-говядина в *опе  огурец     огурец        11
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12
    + 7 жадина-говядина дома    шоколадина шоколадина    29
    + 8 жадина-говядина зеленый огурец     огурец       343
    + 9 жадина-говядина злая    шоколадина шоколадина    10
    +10 жадина-говядина кислая  капуста    другое        10
    +# ℹ 17 more rows
    +
    +
    zhadina_additional_columns <- tibble(new_var1 = rnorm(26),
    +                                     new_var2 = letters)
    +
    +zhadina |> 
    +  bind_cols(zhadina_additional_columns)
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n new_var1 new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>    <dbl> <chr>   
    + 1 жадина-говядина большая шоколадина шоколадина   941   0.464  a       
    + 2 жадина-говядина бука    шоколадина шоколадина    44  -0.886  b       
    + 3 жадина-говядина булка   шоколадина шоколадина   250  -1.10   c       
    + 4 жадина-говядина в *опе  огурец     огурец        11   1.51   d       
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117   0.258  e       
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12   0.0884 f       
    + 7 жадина-говядина дома    шоколадина шоколадина    29  -0.121  g       
    + 8 жадина-говядина зеленый огурец     огурец       343  -1.19   h       
    + 9 жадина-говядина злая    шоколадина шоколадина    10   0.612  i       
    +10 жадина-говядина кислая  капуста    другое        10  -0.217  j       
    +# ℹ 16 more rows
    +
    +
    -
    -

    2.11 Функции семейства ..._join()

    +
    +

    2.12 Функции семейства ..._join()

    +
    +
    zhadina |> 
    +  distinct(type) |> 
    +  mutate(our_new_var1 = rnorm(4),
    +         our_new_var2 = letters[1:4]) ->
    +  type_new_var
    +
    +zhadina |> 
    +  left_join(type_new_var)
    +
    +
    Joining with `by = join_by(type)`
    +
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n our_new_var1 our_new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>        <dbl> <chr>       
    + 1 жадина-говядина большая шоколадина шоколадина   941        1.85  a           
    + 2 жадина-говядина бука    шоколадина шоколадина    44        1.85  a           
    + 3 жадина-говядина булка   шоколадина шоколадина   250        1.85  a           
    + 4 жадина-говядина в *опе  огурец     огурец        11       -0.667 b           
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117        1.85  a           
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12        1.85  a           
    + 7 жадина-говядина дома    шоколадина шоколадина    29        1.85  a           
    + 8 жадина-говядина зеленый огурец     огурец       343       -0.667 b           
    + 9 жадина-говядина злая    шоколадина шоколадина    10        1.85  a           
    +10 жадина-говядина кислая  капуста    другое        10        0.106 c           
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  distinct(type) |> 
    +  mutate(our_new_var1 = rnorm(4),
    +         our_new_var2 = letters[1:4]) |> 
    +  slice(-1) ->
    +  type_new_var2
    +
    +zhadina |> 
    +  left_join(type_new_var2)
    +
    +
    Joining with `by = join_by(type)`
    +
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n our_new_var1 our_new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>        <dbl> <chr>       
    + 1 жадина-говядина большая шоколадина шоколадина   941       NA     <NA>        
    + 2 жадина-говядина бука    шоколадина шоколадина    44       NA     <NA>        
    + 3 жадина-говядина булка   шоколадина шоколадина   250       NA     <NA>        
    + 4 жадина-говядина в *опе  огурец     огурец        11        0.188 b           
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117       NA     <NA>        
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12       NA     <NA>        
    + 7 жадина-говядина дома    шоколадина шоколадина    29       NA     <NA>        
    + 8 жадина-говядина зеленый огурец     огурец       343        0.188 b           
    + 9 жадина-говядина злая    шоколадина шоколадина    10       NA     <NA>        
    +10 жадина-говядина кислая  капуста    другое        10        0.119 c           
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  distinct(type) |> 
    +  mutate(our_new_var1 = rnorm(4),
    +         our_new_var2 = letters[1:4]) |> 
    +  slice(-1) |> 
    +  bind_rows(tibble(type = "карниз", 
    +                   our_new_var1 = 0, 
    +                   our_new_var2 = "R"))->
    +  type_new_var2
    +
    +zhadina |> 
    +  left_join(type_new_var2) 
    +
    +
    Joining with `by = join_by(type)`
    +
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n our_new_var1 our_new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>        <dbl> <chr>       
    + 1 жадина-говядина большая шоколадина шоколадина   941       NA     <NA>        
    + 2 жадина-говядина бука    шоколадина шоколадина    44       NA     <NA>        
    + 3 жадина-говядина булка   шоколадина шоколадина   250       NA     <NA>        
    + 4 жадина-говядина в *опе  огурец     огурец        11       -0.485 b           
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117       NA     <NA>        
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12       NA     <NA>        
    + 7 жадина-говядина дома    шоколадина шоколадина    29       NA     <NA>        
    + 8 жадина-говядина зеленый огурец     огурец       343       -0.485 b           
    + 9 жадина-говядина злая    шоколадина шоколадина    10       NA     <NA>        
    +10 жадина-говядина кислая  капуста    другое        10       -0.504 c           
    +# ℹ 16 more rows
    +
    +
    zhadina |> 
    +  full_join(type_new_var2)
    +
    +
    Joining with `by = join_by(type)`
    +
    +
    +
    # A tibble: 27 × 7
    +   word_1          word_2  word_3     type           n our_new_var1 our_new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>        <dbl> <chr>       
    + 1 жадина-говядина большая шоколадина шоколадина   941       NA     <NA>        
    + 2 жадина-говядина бука    шоколадина шоколадина    44       NA     <NA>        
    + 3 жадина-говядина булка   шоколадина шоколадина   250       NA     <NA>        
    + 4 жадина-говядина в *опе  огурец     огурец        11       -0.485 b           
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117       NA     <NA>        
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12       NA     <NA>        
    + 7 жадина-говядина дома    шоколадина шоколадина    29       NA     <NA>        
    + 8 жадина-говядина зеленый огурец     огурец       343       -0.485 b           
    + 9 жадина-говядина злая    шоколадина шоколадина    10       NA     <NA>        
    +10 жадина-говядина кислая  капуста    другое        10       -0.504 c           
    +# ℹ 17 more rows
    +
    +
    zhadina |> 
    +  anti_join(tibble(type = "шоколадина")) 
    +
    +
    Joining with `by = join_by(type)`
    +
    +
    +
    # A tibble: 12 × 5
    +   word_1          word_2   word_3     type        n
    +   <chr>           <chr>    <chr>      <chr>   <dbl>
    + 1 жадина-говядина в *опе   огурец     огурец     11
    + 2 жадина-говядина зеленый  огурец     огурец    343
    + 3 жадина-говядина кислая   капуста    другое     10
    + 4 жадина-говядина кошка    поросятина другое     42
    + 5 жадина-говядина никто ее не ест     другое     10
    + 6 жадина-говядина на пузе  барабан    барабан    14
    + 7 жадина-говядина немецкий барабан    барабан    12
    + 8 жадина-говядина соленый  барабан    барабан    11
    + 9 жадина-говядина соленый  огурец     огурец  26910
    +10 жадина-говядина соленый  помидор    другое     17
    +11 жадина-говядина турецкий барабан    барабан  3003
    +12 жадина-говядина турецкий таракан    другое     13
    +
    +
    zhadina |> 
    +  distinct(type) |> 
    +  mutate(our_new_var1 = rnorm(4),
    +         our_new_var2 = letters[1:4]) |> 
    +  rename(new_type = type) ->
    +  type_new_var3
    +
    +
    +zhadina |> 
    +  left_join(type_new_var3, by = c("type" = "new_type"))
    +
    +
    # A tibble: 26 × 7
    +   word_1          word_2  word_3     type           n our_new_var1 our_new_var2
    +   <chr>           <chr>   <chr>      <chr>      <dbl>        <dbl> <chr>       
    + 1 жадина-говядина большая шоколадина шоколадина   941       -0.382 a           
    + 2 жадина-говядина бука    шоколадина шоколадина    44       -0.382 a           
    + 3 жадина-говядина булка   шоколадина шоколадина   250       -0.382 a           
    + 4 жадина-говядина в *опе  огурец     огурец        11       -0.513 b           
    + 5 жадина-говядина в *опе  шоколадина шоколадина  1117       -0.382 a           
    + 6 жадина-говядина гнилая  шоколадина шоколадина    12       -0.382 a           
    + 7 жадина-говядина дома    шоколадина шоколадина    29       -0.382 a           
    + 8 жадина-говядина зеленый огурец     огурец       343       -0.513 b           
    + 9 жадина-говядина злая    шоколадина шоколадина    10       -0.382 a           
    +10 жадина-говядина кислая  капуста    другое        10        2.70  c           
    +# ℹ 16 more rows
    +
    +
    diff --git a/docs/search.json b/docs/search.json index 5a42e2a..bc227b0 100644 --- a/docs/search.json +++ b/docs/search.json @@ -124,7 +124,7 @@ "href": "2_data_transformation.html", "title": "2  Трансформация данных", "section": "", - "text": "2.1 tibble\nСовременный вариант датафрейма называется тиббл и отличается от классического тем, как он печатается в консоли и некоторыми дополнительными возможностями. Для его создания нужно в функцию tibble() подать именованные векторы:\ntibble(x = 1:100,\n y = 100:1,\n logical = sample(x = c(\"a\", \"b\", \"c\"), size = 100, replace = TRUE))\n\n# A tibble: 100 × 3\n x y logical\n <int> <int> <chr> \n 1 1 100 b \n 2 2 99 a \n 3 3 98 a \n 4 4 97 a \n 5 5 96 a \n 6 6 95 b \n 7 7 94 c \n 8 8 93 b \n 9 9 92 a \n10 10 91 a \n# ℹ 90 more rows\nМы будем использовать tibble() для саздание таблиц, но чаще всего мы будем считывать данные при помощи функций read_csv(), read_tsv() и прочих, которые по умолчанию преобразуют таблицу в формат tibble.", + "text": "2.1 tibble\nСовременный вариант датафрейма называется тиббл и отличается от классического тем, как он печатается в консоли и некоторыми дополнительными возможностями. Для его создания нужно в функцию tibble() подать именованные векторы:\ntibble(x = 1:100,\n y = 100:1,\n logical = sample(x = c(\"a\", \"b\", \"c\"), size = 100, replace = TRUE))\n\n# A tibble: 100 × 3\n x y logical\n <int> <int> <chr> \n 1 1 100 b \n 2 2 99 a \n 3 3 98 a \n 4 4 97 b \n 5 5 96 a \n 6 6 95 b \n 7 7 94 b \n 8 8 93 c \n 9 9 92 b \n10 10 91 a \n# ℹ 90 more rows\nМы будем использовать tibble() для саздание таблиц, но чаще всего мы будем считывать данные при помощи функций read_csv(), read_tsv() и прочих, которые по умолчанию преобразуют таблицу в формат tibble.", "crumbs": [ "2  Трансформация данных" ] @@ -134,7 +134,7 @@ "href": "2_data_transformation.html#функции-семейства-slice", "title": "2  Трансформация данных", "section": "2.3 Функции семейства slice()", - "text": "2.3 Функции семейства slice()\nДальше мы посмотрим на фрагмент данных из исследования издания N+1 дразнилки “Жадина-говядина”, где исследовались социолингвистические аспекты влияющие на тенденцию к тому или иному продолжению. Переменные word_1, word_2 и word_3 соотвествуют разным вариантам начала, переменная type описывает классификацию, которую варианту дали исследователи, а переменная n отвечает за количество этих вариантов в данных.\n\nzhadina <- read_csv(\"https://raw.githubusercontent.com/agricolamz/daR4hs/main/data/w2_zhadina.csv\")\nzhadina\n\n# A tibble: 26 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе огурец огурец 11\n 5 жадина-говядина в *опе шоколадина шоколадина 1117\n 6 жадина-говядина гнилая шоколадина шоколадина 12\n 7 жадина-говядина дома шоколадина шоколадина 29\n 8 жадина-говядина зеленый огурец огурец 343\n 9 жадина-говядина злая шоколадина шоколадина 10\n10 жадина-говядина кислая капуста другое 10\n# ℹ 16 more rows", + "text": "2.3 Функции семейства slice()\nДальше мы посмотрим на фрагмент данных из исследования издания N+1 дразнилки “Жадина-говядина”, где исследовались социолингвистические аспекты влияющие на тенденцию к тому или иному продолжению. Переменные word_1, word_2 и word_3 соотвествуют разным вариантам начала, переменная type описывает классификацию, которую варианту дали исследователи, а переменная n отвечает за количество этих вариантов в данных.\n\nzhadina <- read_csv(\"https://raw.githubusercontent.com/agricolamz/daR4hs/main/data/w2_zhadina.csv\")\nzhadina\n\n# A tibble: 26 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе огурец огурец 11\n 5 жадина-говядина в *опе шоколадина шоколадина 1117\n 6 жадина-говядина гнилая шоколадина шоколадина 12\n 7 жадина-говядина дома шоколадина шоколадина 29\n 8 жадина-говядина зеленый огурец огурец 343\n 9 жадина-говядина злая шоколадина шоколадина 10\n10 жадина-говядина кислая капуста другое 10\n# ℹ 16 more rows\n\n\nПервые функции tidyverse, которая будет нас интересовать, — это функции семейства slice(). Функция slice() позволяет фильтровать нужные строчки датасета по индексу:\n\nzhadina |> \n slice(c(6, 25, 3))\n\n# A tibble: 3 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина гнилая шоколадина шоколадина 12\n2 жадина-говядина турецкий барабан барабан 3003\n3 жадина-говядина булка шоколадина шоколадина 250\n\nzhadina |> \n slice(6:25)\n\n# A tibble: 20 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина гнилая шоколадина шоколадина 12\n 2 жадина-говядина дома шоколадина шоколадина 29\n 3 жадина-говядина зеленый огурец огурец 343\n 4 жадина-говядина злая шоколадина шоколадина 10\n 5 жадина-говядина кислая капуста другое 10\n 6 жадина-говядина кошка поросятина другое 42\n 7 жадина-говядина кошка шоколадина шоколадина 18\n 8 жадина-говядина никто ее не ест другое 10\n 9 жадина-говядина кусок шоколадины шоколадина 113\n10 жадина-говядина на пузе барабан барабан 14\n11 жадина-говядина немецкий барабан барабан 12\n12 жадина-говядина *опа шоколадина шоколадина 299\n13 жадина-говядина простая шоколадина шоколадина 59\n14 жадина-говядина пустая шоколадина шоколадина 3774\n15 жадина-говядина соленый барабан барабан 11\n16 жадина-говядина соленый огурец огурец 26910\n17 жадина-говядина соленый помидор другое 17\n18 жадина-говядина сухая шоколадина шоколадина 16\n19 жадина-говядина тупая шоколадина шоколадина 50\n20 жадина-говядина турецкий барабан барабан 3003\n\n\nСтоит обратить внимание, что результат работы функции выводиться в консоль, чтобы сохранить результат работы, следует сделать операцию приписывания одним из следующих способов (первый наиболее распространенный):\n\nnew_zhadina <- zhadina |> \n slice(6:25)\n\nzhadina |> \n slice(6:25) ->\n new_zhadina\n\nКроме того, есть функции slice_head() и slice_tail(), которые выдают первое/последнее наблюдение. Аргумент n позволяет донастроить, сколько первых/последних наблюдений хочется вывести:\n\nzhadina |> \n slice_head()\n\n# A tibble: 1 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина большая шоколадина шоколадина 941\n\nzhadina |> \n slice_tail()\n\n# A tibble: 1 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n slice_tail(n = 6)\n\n# A tibble: 6 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина соленый огурец огурец 26910\n2 жадина-говядина соленый помидор другое 17\n3 жадина-говядина сухая шоколадина шоколадина 16\n4 жадина-говядина тупая шоколадина шоколадина 50\n5 жадина-говядина турецкий барабан барабан 3003\n6 жадина-говядина турецкий таракан другое 13\n\n\nСтоит отметить, что совпадение имени аргумента и названия столбца в нашем датасете (n) никак не влияет на работу функции. Также полезными могут быть функции slice_max() и slice_min(), которые выдают максимальное/минимальное значение переменной. У этой функции тоже есть аргумент n:\n\nzhadina |> \n slice_max(n)\n\n# A tibble: 1 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина соленый огурец огурец 26910\n\nzhadina |> \n slice_min(n)\n\n# A tibble: 3 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина злая шоколадина шоколадина 10\n2 жадина-говядина кислая капуста другое 10\n3 жадина-говядина никто ее не ест другое 10\n\nzhadina |> \n slice_max(n, n = 3)\n\n# A tibble: 3 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина соленый огурец огурец 26910\n2 жадина-говядина пустая шоколадина шоколадина 3774\n3 жадина-говядина турецкий барабан барабан 3003\n\n\nФункция slice_sample() позволяет вывести выборку из некоторого количества строчек (аргумент n) или долю строчек (аргумент prop):\n\nzhadina |> \n slice_sample(n = 10)\n\n# A tibble: 10 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина булка шоколадина шоколадина 250\n 2 жадина-говядина дома шоколадина шоколадина 29\n 3 жадина-говядина соленый помидор другое 17\n 4 жадина-говядина бука шоколадина шоколадина 44\n 5 жадина-говядина кошка шоколадина шоколадина 18\n 6 жадина-говядина кусок шоколадины шоколадина 113\n 7 жадина-говядина никто ее не ест другое 10\n 8 жадина-говядина кошка поросятина другое 42\n 9 жадина-говядина пустая шоколадина шоколадина 3774\n10 жадина-говядина в *опе огурец огурец 11\n\nzhadina |> \n slice_sample(prop = 0.3)\n\n# A tibble: 7 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина в *опе огурец огурец 11\n2 жадина-говядина кошка поросятина другое 42\n3 жадина-говядина простая шоколадина шоколадина 59\n4 жадина-говядина в *опе шоколадина шоколадина 1117\n5 жадина-говядина дома шоколадина шоколадина 29\n6 жадина-говядина злая шоколадина шоколадина 10\n7 жадина-говядина кислая капуста другое 10", "crumbs": [ "2  Трансформация данных" ] @@ -143,8 +143,8 @@ "objectID": "2_data_transformation.html#функции-семейства-filter", "href": "2_data_transformation.html#функции-семейства-filter", "title": "2  Трансформация данных", - "section": "2.4 Функции семейства filter()", - "text": "2.4 Функции семейства filter()", + "section": "2.5 Функции семейства filter()", + "text": "2.5 Функции семейства filter()\n\nzhadina |> \n filter(n > 100)\n\n# A tibble: 9 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина большая шоколадина шоколадина 941\n2 жадина-говядина булка шоколадина шоколадина 250\n3 жадина-говядина в *опе шоколадина шоколадина 1117\n4 жадина-говядина зеленый огурец огурец 343\n5 жадина-говядина кусок шоколадины шоколадина 113\n6 жадина-говядина *опа шоколадина шоколадина 299\n7 жадина-говядина пустая шоколадина шоколадина 3774\n8 жадина-говядина соленый огурец огурец 26910\n9 жадина-говядина турецкий барабан барабан 3003\n\nzhadina |> \n filter(n < 100)\n\n# A tibble: 17 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина бука шоколадина шоколадина 44\n 2 жадина-говядина в *опе огурец огурец 11\n 3 жадина-говядина гнилая шоколадина шоколадина 12\n 4 жадина-говядина дома шоколадина шоколадина 29\n 5 жадина-говядина злая шоколадина шоколадина 10\n 6 жадина-говядина кислая капуста другое 10\n 7 жадина-говядина кошка поросятина другое 42\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина никто ее не ест другое 10\n10 жадина-говядина на пузе барабан барабан 14\n11 жадина-говядина немецкий барабан барабан 12\n12 жадина-говядина простая шоколадина шоколадина 59\n13 жадина-говядина соленый барабан барабан 11\n14 жадина-говядина соленый помидор другое 17\n15 жадина-говядина сухая шоколадина шоколадина 16\n16 жадина-говядина тупая шоколадина шоколадина 50\n17 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(n <= 100) # `<` + `=`\n\n# A tibble: 17 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина бука шоколадина шоколадина 44\n 2 жадина-говядина в *опе огурец огурец 11\n 3 жадина-говядина гнилая шоколадина шоколадина 12\n 4 жадина-говядина дома шоколадина шоколадина 29\n 5 жадина-говядина злая шоколадина шоколадина 10\n 6 жадина-говядина кислая капуста другое 10\n 7 жадина-говядина кошка поросятина другое 42\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина никто ее не ест другое 10\n10 жадина-говядина на пузе барабан барабан 14\n11 жадина-говядина немецкий барабан барабан 12\n12 жадина-говядина простая шоколадина шоколадина 59\n13 жадина-говядина соленый барабан барабан 11\n14 жадина-говядина соленый помидор другое 17\n15 жадина-говядина сухая шоколадина шоколадина 16\n16 жадина-говядина тупая шоколадина шоколадина 50\n17 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(n >= 100) # `>` + `=`\n\n# A tibble: 9 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина большая шоколадина шоколадина 941\n2 жадина-говядина булка шоколадина шоколадина 250\n3 жадина-говядина в *опе шоколадина шоколадина 1117\n4 жадина-говядина зеленый огурец огурец 343\n5 жадина-говядина кусок шоколадины шоколадина 113\n6 жадина-говядина *опа шоколадина шоколадина 299\n7 жадина-говядина пустая шоколадина шоколадина 3774\n8 жадина-говядина соленый огурец огурец 26910\n9 жадина-говядина турецкий барабан барабан 3003\n\nzhadina |> \n filter(n != 10) # `!` + `=`\n\n# A tibble: 23 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе огурец огурец 11\n 5 жадина-говядина в *опе шоколадина шоколадина 1117\n 6 жадина-говядина гнилая шоколадина шоколадина 12\n 7 жадина-говядина дома шоколадина шоколадина 29\n 8 жадина-говядина зеленый огурец огурец 343\n 9 жадина-говядина кошка поросятина другое 42\n10 жадина-говядина кошка шоколадина шоколадина 18\n# ℹ 13 more rows\n\nzhadina |> \n filter(n == 10) # `=` + `=`\n\n# A tibble: 3 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина злая шоколадина шоколадина 10\n2 жадина-говядина кислая капуста другое 10\n3 жадина-говядина никто ее не ест другое 10\n\nzhadina |> \n filter(word_3 == \"шоколадина\") # `=` + `=`\n\n# A tibble: 13 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе шоколадина шоколадина 1117\n 5 жадина-говядина гнилая шоколадина шоколадина 12\n 6 жадина-говядина дома шоколадина шоколадина 29\n 7 жадина-говядина злая шоколадина шоколадина 10\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина *опа шоколадина шоколадина 299\n10 жадина-говядина простая шоколадина шоколадина 59\n11 жадина-говядина пустая шоколадина шоколадина 3774\n12 жадина-говядина сухая шоколадина шоколадина 16\n13 жадина-говядина тупая шоколадина шоколадина 50\n\nzhadina |> \n filter(word_3 != \"шоколадина\") # `!` + `=`\n\n# A tibble: 13 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина в *опе огурец огурец 11\n 2 жадина-говядина зеленый огурец огурец 343\n 3 жадина-говядина кислая капуста другое 10\n 4 жадина-говядина кошка поросятина другое 42\n 5 жадина-говядина никто ее не ест другое 10\n 6 жадина-говядина кусок шоколадины шоколадина 113\n 7 жадина-говядина на пузе барабан барабан 14\n 8 жадина-говядина немецкий барабан барабан 12\n 9 жадина-говядина соленый барабан барабан 11\n10 жадина-говядина соленый огурец огурец 26910\n11 жадина-говядина соленый помидор другое 17\n12 жадина-говядина турецкий барабан барабан 3003\n13 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(nchar(word_3) == 7) # `!` + `=`\n\n# A tibble: 7 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина кислая капуста другое 10\n2 жадина-говядина на пузе барабан барабан 14\n3 жадина-говядина немецкий барабан барабан 12\n4 жадина-говядина соленый барабан барабан 11\n5 жадина-говядина соленый помидор другое 17\n6 жадина-говядина турецкий барабан барабан 3003\n7 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(n > 15,\n n < 100)\n\n# A tibble: 8 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина бука шоколадина шоколадина 44\n2 жадина-говядина дома шоколадина шоколадина 29\n3 жадина-говядина кошка поросятина другое 42\n4 жадина-говядина кошка шоколадина шоколадина 18\n5 жадина-говядина простая шоколадина шоколадина 59\n6 жадина-говядина соленый помидор другое 17\n7 жадина-говядина сухая шоколадина шоколадина 16\n8 жадина-говядина тупая шоколадина шоколадина 50", "crumbs": [ "2  Трансформация данных" ] @@ -153,8 +153,8 @@ "objectID": "2_data_transformation.html#функции-count-distinct-arrange", "href": "2_data_transformation.html#функции-count-distinct-arrange", "title": "2  Трансформация данных", - "section": "2.5 Функции count(), distinct(), arrange()", - "text": "2.5 Функции count(), distinct(), arrange()", + "section": "2.6 Функции count(), distinct(), arrange()", + "text": "2.6 Функции count(), distinct(), arrange()\nФункция count() очень полезна в разведочном анализе, так как позволяет посчитать сколько какое значение переменной или группы переменных встретилось в датасете. Аргумент sort позволяет дополнительно отсортировать результат от большего к меньшего.\n\nzhadina |> \n count(word_3)\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 барабан 4\n2 капуста 1\n3 не ест 1\n4 огурец 3\n5 помидор 1\n6 поросятина 1\n7 таракан 1\n8 шоколадина 13\n9 шоколадины 1\n\nzhadina |> \n count(word_3, sort = TRUE)\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 шоколадина 13\n2 барабан 4\n3 огурец 3\n4 капуста 1\n5 не ест 1\n6 помидор 1\n7 поросятина 1\n8 таракан 1\n9 шоколадины 1\n\nzhadina |> \n count(word_1, word_2, sort = TRUE)\n\n# A tibble: 21 × 3\n word_1 word_2 n\n <chr> <chr> <int>\n 1 жадина-говядина соленый 3\n 2 жадина-говядина в *опе 2\n 3 жадина-говядина кошка 2\n 4 жадина-говядина турецкий 2\n 5 жадина-говядина *опа 1\n 6 жадина-говядина большая 1\n 7 жадина-говядина бука 1\n 8 жадина-говядина булка 1\n 9 жадина-говядина гнилая 1\n10 жадина-говядина дома 1\n# ℹ 11 more rows\n\n\nФункция distinct() позволяет вывести уникальное значение переменной или все уникальные комбинации значений нескольких переменных, встретившихся в датасете:\n\nzhadina |> \n distinct(word_3)\n\n# A tibble: 9 × 1\n word_3 \n <chr> \n1 шоколадина\n2 огурец \n3 капуста \n4 поросятина\n5 не ест \n6 шоколадины\n7 барабан \n8 помидор \n9 таракан \n\nzhadina |> \n distinct(word_1, word_2)\n\n# A tibble: 21 × 2\n word_1 word_2 \n <chr> <chr> \n 1 жадина-говядина большая\n 2 жадина-говядина бука \n 3 жадина-говядина булка \n 4 жадина-говядина в *опе \n 5 жадина-говядина гнилая \n 6 жадина-говядина дома \n 7 жадина-говядина зеленый\n 8 жадина-говядина злая \n 9 жадина-говядина кислая \n10 жадина-говядина кошка \n# ℹ 11 more rows\n\n\nФункция arrange() позволяет отсортировать одну или несколько переменных от меньшего к большему (если нужно наоборот — используйте функцию desc()). Числовые переменные соритруются по значения, а строковые по алфавиту (с учетом особенностей локали):\n\nzhadina |> \n count(word_3) |> \n arrange(n)\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 капуста 1\n2 не ест 1\n3 помидор 1\n4 поросятина 1\n5 таракан 1\n6 шоколадины 1\n7 огурец 3\n8 барабан 4\n9 шоколадина 13\n\nzhadina |> \n count(word_3) |> \n arrange(desc(n))\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 шоколадина 13\n2 барабан 4\n3 огурец 3\n4 капуста 1\n5 не ест 1\n6 помидор 1\n7 поросятина 1\n8 таракан 1\n9 шоколадины 1\n\nzhadina |> \n count(word_3) |> \n arrange(-n)\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 шоколадина 13\n2 барабан 4\n3 огурец 3\n4 капуста 1\n5 не ест 1\n6 помидор 1\n7 поросятина 1\n8 таракан 1\n9 шоколадины 1\n\nzhadina |> \n count(word_3) |> \n arrange(word_3)\n\n# A tibble: 9 × 2\n word_3 n\n <chr> <int>\n1 барабан 4\n2 капуста 1\n3 не ест 1\n4 огурец 3\n5 помидор 1\n6 поросятина 1\n7 таракан 1\n8 шоколадина 13\n9 шоколадины 1", "crumbs": [ "2  Трансформация данных" ] @@ -163,8 +163,8 @@ "objectID": "2_data_transformation.html#функция-mutate", "href": "2_data_transformation.html#функция-mutate", "title": "2  Трансформация данных", - "section": "2.6 Функция mutate()", - "text": "2.6 Функция mutate()", + "section": "2.7 Функция mutate()", + "text": "2.7 Функция mutate()\nФункция mutate() позволяет создавать и изменять уже имеющиеся переменные:\n\nzhadina |> \n mutate(nchar = nchar(word_3),\n nchar2 = nchar(word_3)*2)\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n nchar nchar2\n <chr> <chr> <chr> <chr> <dbl> <int> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941 10 20\n 2 жадина-говядина бука шоколадина шоколадина 44 10 20\n 3 жадина-говядина булка шоколадина шоколадина 250 10 20\n 4 жадина-говядина в *опе огурец огурец 11 6 12\n 5 жадина-говядина в *опе шоколадина шоколадина 1117 10 20\n 6 жадина-говядина гнилая шоколадина шоколадина 12 10 20\n 7 жадина-говядина дома шоколадина шоколадина 29 10 20\n 8 жадина-говядина зеленый огурец огурец 343 6 12\n 9 жадина-говядина злая шоколадина шоколадина 10 10 20\n10 жадина-говядина кислая капуста другое 10 7 14\n# ℹ 16 more rows\n\nzhadina |> \n mutate(n = n^3)\n\n# A tibble: 26 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 833237621\n 2 жадина-говядина бука шоколадина шоколадина 85184\n 3 жадина-говядина булка шоколадина шоколадина 15625000\n 4 жадина-говядина в *опе огурец огурец 1331\n 5 жадина-говядина в *опе шоколадина шоколадина 1393668613\n 6 жадина-говядина гнилая шоколадина шоколадина 1728\n 7 жадина-говядина дома шоколадина шоколадина 24389\n 8 жадина-говядина зеленый огурец огурец 40353607\n 9 жадина-говядина злая шоколадина шоколадина 1000\n10 жадина-говядина кислая капуста другое 1000\n# ℹ 16 more rows", "crumbs": [ "2  Трансформация данных" ] @@ -173,8 +173,8 @@ "objectID": "2_data_transformation.html#функция-group_by-summarise-и-group_by-mutate", "href": "2_data_transformation.html#функция-group_by-summarise-и-group_by-mutate", "title": "2  Трансформация данных", - "section": "2.7 Функция group_by() |> summarise() и group_by() |> mutate()", - "text": "2.7 Функция group_by() |> summarise() и group_by() |> mutate()", + "section": "2.8 Функция group_by() |> summarise() и group_by() |> mutate()", + "text": "2.8 Функция group_by() |> summarise() и group_by() |> mutate()\n\nzhadina |> \n group_by(type) |> \n summarise(mean_by_type = mean(n))\n\n# A tibble: 4 × 2\n type mean_by_type\n <chr> <dbl>\n1 барабан 760 \n2 другое 18.4\n3 огурец 9088 \n4 шоколадина 481. \n\nzhadina |> \n group_by(type) |> \n summarise(mean_by_type = mean(n),\n median_by_type = median(n))\n\n# A tibble: 4 × 3\n type mean_by_type median_by_type\n <chr> <dbl> <dbl>\n1 барабан 760 13 \n2 другое 18.4 13 \n3 огурец 9088 343 \n4 шоколадина 481. 54.5\n\nzhadina |> \n group_by(type, word_3) |> \n summarise(mean_by_type = mean(n),\n median_by_type = median(n))\n\n`summarise()` has grouped output by 'type'. You can override using the\n`.groups` argument.\n\n\n# A tibble: 9 × 4\n# Groups: type [4]\n type word_3 mean_by_type median_by_type\n <chr> <chr> <dbl> <dbl>\n1 барабан барабан 760 13\n2 другое капуста 10 10\n3 другое не ест 10 10\n4 другое помидор 17 17\n5 другое поросятина 42 42\n6 другое таракан 13 13\n7 огурец огурец 9088 343\n8 шоколадина шоколадина 509. 50\n9 шоколадина шоколадины 113 113\n\nzhadina |> \n group_by(type, word_3) |> \n mutate(mean_by_type = mean(n),\n median_by_type = median(n))\n\n# A tibble: 26 × 7\n# Groups: type, word_3 [9]\n word_1 word_2 word_3 type n mean_by_type median_by_type\n <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>\n 1 жадина-говядина большая шоколадина шоколад… 941 509. 50\n 2 жадина-говядина бука шоколадина шоколад… 44 509. 50\n 3 жадина-говядина булка шоколадина шоколад… 250 509. 50\n 4 жадина-говядина в *опе огурец огурец 11 9088 343\n 5 жадина-говядина в *опе шоколадина шоколад… 1117 509. 50\n 6 жадина-говядина гнилая шоколадина шоколад… 12 509. 50\n 7 жадина-говядина дома шоколадина шоколад… 29 509. 50\n 8 жадина-говядина зеленый огурец огурец 343 9088 343\n 9 жадина-говядина злая шоколадина шоколад… 10 509. 50\n10 жадина-говядина кислая капуста другое 10 10 10\n# ℹ 16 more rows\n\nzhadina |> \n group_by(type) |> \n mutate(mean_by_type = mean(n),\n median_by_type = median(n))\n\n# A tibble: 26 × 7\n# Groups: type [4]\n word_1 word_2 word_3 type n mean_by_type median_by_type\n <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>\n 1 жадина-говядина большая шоколадина шоколад… 941 481. 54.5\n 2 жадина-говядина бука шоколадина шоколад… 44 481. 54.5\n 3 жадина-говядина булка шоколадина шоколад… 250 481. 54.5\n 4 жадина-говядина в *опе огурец огурец 11 9088 343 \n 5 жадина-говядина в *опе шоколадина шоколад… 1117 481. 54.5\n 6 жадина-говядина гнилая шоколадина шоколад… 12 481. 54.5\n 7 жадина-говядина дома шоколадина шоколад… 29 481. 54.5\n 8 жадина-говядина зеленый огурец огурец 343 9088 343 \n 9 жадина-говядина злая шоколадина шоколад… 10 481. 54.5\n10 жадина-говядина кислая капуста другое 10 18.4 13 \n# ℹ 16 more rows", "crumbs": [ "2  Трансформация данных" ] @@ -183,8 +183,8 @@ "objectID": "2_data_transformation.html#функция-across", "href": "2_data_transformation.html#функция-across", "title": "2  Трансформация данных", - "section": "2.8 Функция across()", - "text": "2.8 Функция across()", + "section": "2.9 Функция across()", + "text": "2.9 Функция across()\n\nzhadina |> \n mutate(across(starts_with(\"word\"), toupper))\n\n# A tibble: 26 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 ЖАДИНА-ГОВЯДИНА БОЛЬШАЯ ШОКОЛАДИНА шоколадина 941\n 2 ЖАДИНА-ГОВЯДИНА БУКА ШОКОЛАДИНА шоколадина 44\n 3 ЖАДИНА-ГОВЯДИНА БУЛКА ШОКОЛАДИНА шоколадина 250\n 4 ЖАДИНА-ГОВЯДИНА В *ОПЕ ОГУРЕЦ огурец 11\n 5 ЖАДИНА-ГОВЯДИНА В *ОПЕ ШОКОЛАДИНА шоколадина 1117\n 6 ЖАДИНА-ГОВЯДИНА ГНИЛАЯ ШОКОЛАДИНА шоколадина 12\n 7 ЖАДИНА-ГОВЯДИНА ДОМА ШОКОЛАДИНА шоколадина 29\n 8 ЖАДИНА-ГОВЯДИНА ЗЕЛЕНЫЙ ОГУРЕЦ огурец 343\n 9 ЖАДИНА-ГОВЯДИНА ЗЛАЯ ШОКОЛАДИНА шоколадина 10\n10 ЖАДИНА-ГОВЯДИНА КИСЛАЯ КАПУСТА другое 10\n# ℹ 16 more rows\n\nzhadina |> \n mutate(across(where(is.character), toupper))\n\n# A tibble: 26 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 ЖАДИНА-ГОВЯДИНА БОЛЬШАЯ ШОКОЛАДИНА ШОКОЛАДИНА 941\n 2 ЖАДИНА-ГОВЯДИНА БУКА ШОКОЛАДИНА ШОКОЛАДИНА 44\n 3 ЖАДИНА-ГОВЯДИНА БУЛКА ШОКОЛАДИНА ШОКОЛАДИНА 250\n 4 ЖАДИНА-ГОВЯДИНА В *ОПЕ ОГУРЕЦ ОГУРЕЦ 11\n 5 ЖАДИНА-ГОВЯДИНА В *ОПЕ ШОКОЛАДИНА ШОКОЛАДИНА 1117\n 6 ЖАДИНА-ГОВЯДИНА ГНИЛАЯ ШОКОЛАДИНА ШОКОЛАДИНА 12\n 7 ЖАДИНА-ГОВЯДИНА ДОМА ШОКОЛАДИНА ШОКОЛАДИНА 29\n 8 ЖАДИНА-ГОВЯДИНА ЗЕЛЕНЫЙ ОГУРЕЦ ОГУРЕЦ 343\n 9 ЖАДИНА-ГОВЯДИНА ЗЛАЯ ШОКОЛАДИНА ШОКОЛАДИНА 10\n10 ЖАДИНА-ГОВЯДИНА КИСЛАЯ КАПУСТА ДРУГОЕ 10\n# ℹ 16 more rows\n\nset.seed(42)\nzhadina |> \n mutate(new_numeric_value = rnorm(26)) |> \n group_by(type) |> \n summarise(across(where(is.double), mean))\n\n# A tibble: 4 × 3\n type n new_numeric_value\n <chr> <dbl> <dbl>\n1 барабан 760 0.929 \n2 другое 18.4 -0.472 \n3 огурец 9088 0.0772\n4 шоколадина 481. 0.190 \n\nset.seed(42)\nzhadina |> \n mutate(new_numeric_value = rnorm(26)) |> \n group_by(type) |> \n summarise(n = mean(n),\n new_numeric_value = mean(new_numeric_value))\n\n# A tibble: 4 × 3\n type n new_numeric_value\n <chr> <dbl> <dbl>\n1 барабан 760 0.929 \n2 другое 18.4 -0.472 \n3 огурец 9088 0.0772\n4 шоколадина 481. 0.190 \n\nzhadina |> \n mutate(new_numeric_value = rnorm(26)) |> \n group_by(type) |> \n mutate(across(where(is.double), mean))\n\n# A tibble: 26 × 6\n# Groups: type [4]\n word_1 word_2 word_3 type n new_numeric_value\n <chr> <chr> <chr> <chr> <dbl> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 481. -0.0562\n 2 жадина-говядина бука шоколадина шоколадина 481. -0.0562\n 3 жадина-говядина булка шоколадина шоколадина 481. -0.0562\n 4 жадина-говядина в *опе огурец огурец 9088 -0.687 \n 5 жадина-говядина в *опе шоколадина шоколадина 481. -0.0562\n 6 жадина-говядина гнилая шоколадина шоколадина 481. -0.0562\n 7 жадина-говядина дома шоколадина шоколадина 481. -0.0562\n 8 жадина-говядина зеленый огурец огурец 9088 -0.687 \n 9 жадина-говядина злая шоколадина шоколадина 481. -0.0562\n10 жадина-говядина кислая капуста другое 18.4 -0.851 \n# ℹ 16 more rows", "crumbs": [ "2  Трансформация данных" ] @@ -193,8 +193,8 @@ "objectID": "2_data_transformation.html#функции-семейства-pivot_...", "href": "2_data_transformation.html#функции-семейства-pivot_...", "title": "2  Трансформация данных", - "section": "2.9 Функции семейства pivot_...()", - "text": "2.9 Функции семейства pivot_...()", + "section": "2.10 Функции семейства pivot_...()", + "text": "2.10 Функции семейства pivot_...()\n\nindia_langauges_wide <- read_csv(\"https://raw.githubusercontent.com/agricolamz/daR4hs/main/data/w2_india_languages.csv\")\n\nRows: 12 Columns: 5\n── Column specification ────────────────────────────────────────────────────────\nDelimiter: \",\"\nchr (1): language\ndbl (4): n_L1_sp, n_L2_sp, n_L3_sp, n_all_sp\n\nℹ Use `spec()` to retrieve the full column specification for this data.\nℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.\n\nindia_langauges_wide |> \n pivot_longer(names_to = \"L\", values_to = \"value\", n_L1_sp:n_all_sp)\n\n# A tibble: 48 × 3\n language L value\n <chr> <chr> <dbl>\n 1 Hindi n_L1_sp 422048642\n 2 Hindi n_L2_sp 98207180\n 3 Hindi n_L3_sp 31160696\n 4 Hindi n_all_sp 551416518\n 5 English n_L1_sp 226449\n 6 English n_L2_sp 86125221\n 7 English n_L3_sp 38993066\n 8 English n_all_sp 125344736\n 9 Bengali n_L1_sp 83369769\n10 Bengali n_L2_sp 6637222\n# ℹ 38 more rows\n\nindia_langauges_wide |> \n pivot_longer(names_to = \"L\", values_to = \"value\", starts_with(\"n_\")) |> \n filter(L != \"n_all_sp\") |> \n group_by(L) |> \n summarise(sum = sum(value),\n mean = mean(value))\n\n# A tibble: 3 × 3\n L sum mean\n <chr> <dbl> <dbl>\n1 n_L1_sp 914028136 76169011.\n2 n_L2_sp 241705317 20142110.\n3 n_L3_sp 83551664 6962639.\n\nindia_langauges_wide |> \n pivot_longer(names_to = \"L\", values_to = \"value\", starts_with(\"n_\")) |> \n filter(L != \"n_all_sp\") ->\n india_langauges_long\n\nindia_langauges_long |> \n pivot_wider(names_from = \"L\", values_from = \"value\")\n\n# A tibble: 12 × 4\n language n_L1_sp n_L2_sp n_L3_sp\n <chr> <dbl> <dbl> <dbl>\n 1 Hindi 422048642 98207180 31160696\n 2 English 226449 86125221 38993066\n 3 Bengali 83369769 6637222 1108088\n 4 Telugu 74002856 9723626 1266019\n 5 Marathi 71936894 9546414 2701498\n 6 Tamil 60793814 4992253 956335\n 7 Urdu 51536111 6535489 1007912\n 8 Kannada 37924011 11455287 1396428\n 9 Gujarati 46091617 3476355 703989\n10 Odia 33017446 3272151 319525\n11 Malayalam 33066392 499188 195885\n12 Sanskrit 14135 1234931 3742223\n\nindia_langauges_long |> \n slice_sample(n = 30) |> \n pivot_wider(names_from = \"L\", values_from = \"value\", values_fill = 0)\n\n# A tibble: 12 × 4\n language n_L2_sp n_L3_sp n_L1_sp\n <chr> <dbl> <dbl> <dbl>\n 1 English 86125221 38993066 0\n 2 Urdu 6535489 1007912 51536111\n 3 Tamil 4992253 956335 60793814\n 4 Gujarati 0 703989 46091617\n 5 Marathi 9546414 0 71936894\n 6 Sanskrit 1234931 3742223 14135\n 7 Kannada 0 1396428 37924011\n 8 Odia 0 319525 33017446\n 9 Telugu 9723626 1266019 74002856\n10 Bengali 6637222 1108088 83369769\n11 Malayalam 499188 195885 33066392\n12 Hindi 0 31160696 422048642", "crumbs": [ "2  Трансформация данных" ] @@ -203,8 +203,8 @@ "objectID": "2_data_transformation.html#функции-семейства-bind_...", "href": "2_data_transformation.html#функции-семейства-bind_...", "title": "2  Трансформация данных", - "section": "2.10 Функции семейства bind_...()", - "text": "2.10 Функции семейства bind_...()", + "section": "2.11 Функции семейства bind_...()", + "text": "2.11 Функции семейства bind_...()\n\nzhadina_new <- tibble(word_1 = \"жадина-говядина\",\n word_2 = \"пупецкий\",\n word_3 = \"барабан\",\n type = \"барабан\",\n n = 0)\n\nzhadina |> \n bind_rows(zhadina_new)\n\n# A tibble: 27 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе огурец огурец 11\n 5 жадина-говядина в *опе шоколадина шоколадина 1117\n 6 жадина-говядина гнилая шоколадина шоколадина 12\n 7 жадина-говядина дома шоколадина шоколадина 29\n 8 жадина-говядина зеленый огурец огурец 343\n 9 жадина-говядина злая шоколадина шоколадина 10\n10 жадина-говядина кислая капуста другое 10\n# ℹ 17 more rows\n\nzhadina_additional_columns <- tibble(new_var1 = rnorm(26),\n new_var2 = letters)\n\nzhadina |> \n bind_cols(zhadina_additional_columns)\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n new_var1 new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 0.464 a \n 2 жадина-говядина бука шоколадина шоколадина 44 -0.886 b \n 3 жадина-говядина булка шоколадина шоколадина 250 -1.10 c \n 4 жадина-говядина в *опе огурец огурец 11 1.51 d \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 0.258 e \n 6 жадина-говядина гнилая шоколадина шоколадина 12 0.0884 f \n 7 жадина-говядина дома шоколадина шоколадина 29 -0.121 g \n 8 жадина-говядина зеленый огурец огурец 343 -1.19 h \n 9 жадина-говядина злая шоколадина шоколадина 10 0.612 i \n10 жадина-говядина кислая капуста другое 10 -0.217 j \n# ℹ 16 more rows", "crumbs": [ "2  Трансформация данных" ] @@ -213,8 +213,8 @@ "objectID": "2_data_transformation.html#sec-joins", "href": "2_data_transformation.html#sec-joins", "title": "2  Трансформация данных", - "section": "2.11 Функции семейства ..._join()", - "text": "2.11 Функции семейства ..._join()", + "section": "2.12 Функции семейства ..._join()", + "text": "2.12 Функции семейства ..._join()\n\nzhadina |> \n distinct(type) |> \n mutate(our_new_var1 = rnorm(4),\n our_new_var2 = letters[1:4]) ->\n type_new_var\n\nzhadina |> \n left_join(type_new_var)\n\nJoining with `by = join_by(type)`\n\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n our_new_var1 our_new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 1.85 a \n 2 жадина-говядина бука шоколадина шоколадина 44 1.85 a \n 3 жадина-говядина булка шоколадина шоколадина 250 1.85 a \n 4 жадина-говядина в *опе огурец огурец 11 -0.667 b \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 1.85 a \n 6 жадина-говядина гнилая шоколадина шоколадина 12 1.85 a \n 7 жадина-говядина дома шоколадина шоколадина 29 1.85 a \n 8 жадина-говядина зеленый огурец огурец 343 -0.667 b \n 9 жадина-говядина злая шоколадина шоколадина 10 1.85 a \n10 жадина-говядина кислая капуста другое 10 0.106 c \n# ℹ 16 more rows\n\nzhadina |> \n distinct(type) |> \n mutate(our_new_var1 = rnorm(4),\n our_new_var2 = letters[1:4]) |> \n slice(-1) ->\n type_new_var2\n\nzhadina |> \n left_join(type_new_var2)\n\nJoining with `by = join_by(type)`\n\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n our_new_var1 our_new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 NA <NA> \n 2 жадина-говядина бука шоколадина шоколадина 44 NA <NA> \n 3 жадина-говядина булка шоколадина шоколадина 250 NA <NA> \n 4 жадина-говядина в *опе огурец огурец 11 0.188 b \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 NA <NA> \n 6 жадина-говядина гнилая шоколадина шоколадина 12 NA <NA> \n 7 жадина-говядина дома шоколадина шоколадина 29 NA <NA> \n 8 жадина-говядина зеленый огурец огурец 343 0.188 b \n 9 жадина-говядина злая шоколадина шоколадина 10 NA <NA> \n10 жадина-говядина кислая капуста другое 10 0.119 c \n# ℹ 16 more rows\n\nzhadina |> \n distinct(type) |> \n mutate(our_new_var1 = rnorm(4),\n our_new_var2 = letters[1:4]) |> \n slice(-1) |> \n bind_rows(tibble(type = \"карниз\", \n our_new_var1 = 0, \n our_new_var2 = \"R\"))->\n type_new_var2\n\nzhadina |> \n left_join(type_new_var2) \n\nJoining with `by = join_by(type)`\n\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n our_new_var1 our_new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 NA <NA> \n 2 жадина-говядина бука шоколадина шоколадина 44 NA <NA> \n 3 жадина-говядина булка шоколадина шоколадина 250 NA <NA> \n 4 жадина-говядина в *опе огурец огурец 11 -0.485 b \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 NA <NA> \n 6 жадина-говядина гнилая шоколадина шоколадина 12 NA <NA> \n 7 жадина-говядина дома шоколадина шоколадина 29 NA <NA> \n 8 жадина-говядина зеленый огурец огурец 343 -0.485 b \n 9 жадина-говядина злая шоколадина шоколадина 10 NA <NA> \n10 жадина-говядина кислая капуста другое 10 -0.504 c \n# ℹ 16 more rows\n\nzhadina |> \n full_join(type_new_var2)\n\nJoining with `by = join_by(type)`\n\n\n# A tibble: 27 × 7\n word_1 word_2 word_3 type n our_new_var1 our_new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 NA <NA> \n 2 жадина-говядина бука шоколадина шоколадина 44 NA <NA> \n 3 жадина-говядина булка шоколадина шоколадина 250 NA <NA> \n 4 жадина-говядина в *опе огурец огурец 11 -0.485 b \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 NA <NA> \n 6 жадина-говядина гнилая шоколадина шоколадина 12 NA <NA> \n 7 жадина-говядина дома шоколадина шоколадина 29 NA <NA> \n 8 жадина-говядина зеленый огурец огурец 343 -0.485 b \n 9 жадина-говядина злая шоколадина шоколадина 10 NA <NA> \n10 жадина-говядина кислая капуста другое 10 -0.504 c \n# ℹ 17 more rows\n\nzhadina |> \n anti_join(tibble(type = \"шоколадина\")) \n\nJoining with `by = join_by(type)`\n\n\n# A tibble: 12 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина в *опе огурец огурец 11\n 2 жадина-говядина зеленый огурец огурец 343\n 3 жадина-говядина кислая капуста другое 10\n 4 жадина-говядина кошка поросятина другое 42\n 5 жадина-говядина никто ее не ест другое 10\n 6 жадина-говядина на пузе барабан барабан 14\n 7 жадина-говядина немецкий барабан барабан 12\n 8 жадина-говядина соленый барабан барабан 11\n 9 жадина-говядина соленый огурец огурец 26910\n10 жадина-говядина соленый помидор другое 17\n11 жадина-говядина турецкий барабан барабан 3003\n12 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n distinct(type) |> \n mutate(our_new_var1 = rnorm(4),\n our_new_var2 = letters[1:4]) |> \n rename(new_type = type) ->\n type_new_var3\n\n\nzhadina |> \n left_join(type_new_var3, by = c(\"type\" = \"new_type\"))\n\n# A tibble: 26 × 7\n word_1 word_2 word_3 type n our_new_var1 our_new_var2\n <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> \n 1 жадина-говядина большая шоколадина шоколадина 941 -0.382 a \n 2 жадина-говядина бука шоколадина шоколадина 44 -0.382 a \n 3 жадина-говядина булка шоколадина шоколадина 250 -0.382 a \n 4 жадина-говядина в *опе огурец огурец 11 -0.513 b \n 5 жадина-говядина в *опе шоколадина шоколадина 1117 -0.382 a \n 6 жадина-говядина гнилая шоколадина шоколадина 12 -0.382 a \n 7 жадина-говядина дома шоколадина шоколадина 29 -0.382 a \n 8 жадина-говядина зеленый огурец огурец 343 -0.513 b \n 9 жадина-говядина злая шоколадина шоколадина 10 -0.382 a \n10 жадина-говядина кислая капуста другое 10 2.70 c \n# ℹ 16 more rows", "crumbs": [ "2  Трансформация данных" ] @@ -678,5 +678,25 @@ "crumbs": [ "2  Трансформация данных" ] + }, + { + "objectID": "2_data_transformation.html#функция-select", + "href": "2_data_transformation.html#функция-select", + "title": "2  Трансформация данных", + "section": "2.4 Функция select()", + "text": "2.4 Функция select()\nФункция select() позволяет выбрать из датасета некоторый набор столбцов.\n\nzhadina |> \n select(word_1, type, n)\n\n# A tibble: 26 × 3\n word_1 type n\n <chr> <chr> <dbl>\n 1 жадина-говядина шоколадина 941\n 2 жадина-говядина шоколадина 44\n 3 жадина-говядина шоколадина 250\n 4 жадина-говядина огурец 11\n 5 жадина-говядина шоколадина 1117\n 6 жадина-говядина шоколадина 12\n 7 жадина-говядина шоколадина 29\n 8 жадина-говядина огурец 343\n 9 жадина-говядина шоколадина 10\n10 жадина-говядина другое 10\n# ℹ 16 more rows\n\n\nВнутри функции select() можно использовать функции, которые позволяют не только перечислять через запятую необходимые столбцы, но и выделять их по имени:\n\nzhadina |> \n select(starts_with(\"word\"))\n\n# A tibble: 26 × 3\n word_1 word_2 word_3 \n <chr> <chr> <chr> \n 1 жадина-говядина большая шоколадина\n 2 жадина-говядина бука шоколадина\n 3 жадина-говядина булка шоколадина\n 4 жадина-говядина в *опе огурец \n 5 жадина-говядина в *опе шоколадина\n 6 жадина-говядина гнилая шоколадина\n 7 жадина-говядина дома шоколадина\n 8 жадина-говядина зеленый огурец \n 9 жадина-говядина злая шоколадина\n10 жадина-говядина кислая капуста \n# ℹ 16 more rows\n\nzhadina |> \n select(ends_with(\"1\"))\n\n# A tibble: 26 × 1\n word_1 \n <chr> \n 1 жадина-говядина\n 2 жадина-говядина\n 3 жадина-говядина\n 4 жадина-говядина\n 5 жадина-говядина\n 6 жадина-говядина\n 7 жадина-говядина\n 8 жадина-говядина\n 9 жадина-говядина\n10 жадина-говядина\n# ℹ 16 more rows\n\nzhadina |> \n select(matches(\"ord\"))\n\n# A tibble: 26 × 3\n word_1 word_2 word_3 \n <chr> <chr> <chr> \n 1 жадина-говядина большая шоколадина\n 2 жадина-говядина бука шоколадина\n 3 жадина-говядина булка шоколадина\n 4 жадина-говядина в *опе огурец \n 5 жадина-говядина в *опе шоколадина\n 6 жадина-говядина гнилая шоколадина\n 7 жадина-говядина дома шоколадина\n 8 жадина-говядина зеленый огурец \n 9 жадина-говядина злая шоколадина\n10 жадина-говядина кислая капуста \n# ℹ 16 more rows\n\n\nКроме того, внутри функции select() действует оператор двоеточие, который мы видели при создании векторов 5:10:\n\nzhadina |> \n select(word_3:n) # от колонки word_3 до колонки n\n\n# A tibble: 26 × 3\n word_3 type n\n <chr> <chr> <dbl>\n 1 шоколадина шоколадина 941\n 2 шоколадина шоколадина 44\n 3 шоколадина шоколадина 250\n 4 огурец огурец 11\n 5 шоколадина шоколадина 1117\n 6 шоколадина шоколадина 12\n 7 шоколадина шоколадина 29\n 8 огурец огурец 343\n 9 шоколадина шоколадина 10\n10 капуста другое 10\n# ℹ 16 more rows", + "crumbs": [ + "2  Трансформация данных" + ] + }, + { + "objectID": "2_data_transformation.html#функция-filter", + "href": "2_data_transformation.html#функция-filter", + "title": "2  Трансформация данных", + "section": "2.5 Функция filter()", + "text": "2.5 Функция filter()\nФункция filter() позволяет отфильтровыввать строки таблицы по одному или нескольким условиям.\n\nzhadina |> \n filter(n > 100)\n\n# A tibble: 9 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина большая шоколадина шоколадина 941\n2 жадина-говядина булка шоколадина шоколадина 250\n3 жадина-говядина в *опе шоколадина шоколадина 1117\n4 жадина-говядина зеленый огурец огурец 343\n5 жадина-говядина кусок шоколадины шоколадина 113\n6 жадина-говядина *опа шоколадина шоколадина 299\n7 жадина-говядина пустая шоколадина шоколадина 3774\n8 жадина-говядина соленый огурец огурец 26910\n9 жадина-говядина турецкий барабан барабан 3003\n\nzhadina |> \n filter(n < 100)\n\n# A tibble: 17 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина бука шоколадина шоколадина 44\n 2 жадина-говядина в *опе огурец огурец 11\n 3 жадина-говядина гнилая шоколадина шоколадина 12\n 4 жадина-говядина дома шоколадина шоколадина 29\n 5 жадина-говядина злая шоколадина шоколадина 10\n 6 жадина-говядина кислая капуста другое 10\n 7 жадина-говядина кошка поросятина другое 42\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина никто ее не ест другое 10\n10 жадина-говядина на пузе барабан барабан 14\n11 жадина-говядина немецкий барабан барабан 12\n12 жадина-говядина простая шоколадина шоколадина 59\n13 жадина-говядина соленый барабан барабан 11\n14 жадина-говядина соленый помидор другое 17\n15 жадина-говядина сухая шоколадина шоколадина 16\n16 жадина-говядина тупая шоколадина шоколадина 50\n17 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(n <= 100) # меньше или равно\n\n# A tibble: 17 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина бука шоколадина шоколадина 44\n 2 жадина-говядина в *опе огурец огурец 11\n 3 жадина-говядина гнилая шоколадина шоколадина 12\n 4 жадина-говядина дома шоколадина шоколадина 29\n 5 жадина-говядина злая шоколадина шоколадина 10\n 6 жадина-говядина кислая капуста другое 10\n 7 жадина-говядина кошка поросятина другое 42\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина никто ее не ест другое 10\n10 жадина-говядина на пузе барабан барабан 14\n11 жадина-говядина немецкий барабан барабан 12\n12 жадина-говядина простая шоколадина шоколадина 59\n13 жадина-говядина соленый барабан барабан 11\n14 жадина-говядина соленый помидор другое 17\n15 жадина-говядина сухая шоколадина шоколадина 16\n16 жадина-говядина тупая шоколадина шоколадина 50\n17 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(n >= 100) # больше или равно\n\n# A tibble: 9 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина большая шоколадина шоколадина 941\n2 жадина-говядина булка шоколадина шоколадина 250\n3 жадина-говядина в *опе шоколадина шоколадина 1117\n4 жадина-говядина зеленый огурец огурец 343\n5 жадина-говядина кусок шоколадины шоколадина 113\n6 жадина-говядина *опа шоколадина шоколадина 299\n7 жадина-говядина пустая шоколадина шоколадина 3774\n8 жадина-говядина соленый огурец огурец 26910\n9 жадина-говядина турецкий барабан барабан 3003\n\nzhadina |> \n filter(n != 10) # не равно\n\n# A tibble: 23 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе огурец огурец 11\n 5 жадина-говядина в *опе шоколадина шоколадина 1117\n 6 жадина-говядина гнилая шоколадина шоколадина 12\n 7 жадина-говядина дома шоколадина шоколадина 29\n 8 жадина-говядина зеленый огурец огурец 343\n 9 жадина-говядина кошка поросятина другое 42\n10 жадина-говядина кошка шоколадина шоколадина 18\n# ℹ 13 more rows\n\nzhadina |> \n filter(n == 10) # равно (дважды знак равно)\n\n# A tibble: 3 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина злая шоколадина шоколадина 10\n2 жадина-говядина кислая капуста другое 10\n3 жадина-говядина никто ее не ест другое 10\n\nzhadina |> \n filter(word_3 == \"шоколадина\")\n\n# A tibble: 13 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина бука шоколадина шоколадина 44\n 3 жадина-говядина булка шоколадина шоколадина 250\n 4 жадина-говядина в *опе шоколадина шоколадина 1117\n 5 жадина-говядина гнилая шоколадина шоколадина 12\n 6 жадина-говядина дома шоколадина шоколадина 29\n 7 жадина-говядина злая шоколадина шоколадина 10\n 8 жадина-говядина кошка шоколадина шоколадина 18\n 9 жадина-говядина *опа шоколадина шоколадина 299\n10 жадина-говядина простая шоколадина шоколадина 59\n11 жадина-говядина пустая шоколадина шоколадина 3774\n12 жадина-говядина сухая шоколадина шоколадина 16\n13 жадина-говядина тупая шоколадина шоколадина 50\n\nzhadina |> \n filter(word_3 != \"шоколадина\")\n\n# A tibble: 13 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина в *опе огурец огурец 11\n 2 жадина-говядина зеленый огурец огурец 343\n 3 жадина-говядина кислая капуста другое 10\n 4 жадина-говядина кошка поросятина другое 42\n 5 жадина-говядина никто ее не ест другое 10\n 6 жадина-говядина кусок шоколадины шоколадина 113\n 7 жадина-говядина на пузе барабан барабан 14\n 8 жадина-говядина немецкий барабан барабан 12\n 9 жадина-говядина соленый барабан барабан 11\n10 жадина-говядина соленый огурец огурец 26910\n11 жадина-говядина соленый помидор другое 17\n12 жадина-говядина турецкий барабан барабан 3003\n13 жадина-говядина турецкий таракан другое 13\n\nzhadina |> \n filter(nchar(word_3) == 7)\n\n# A tibble: 7 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина кислая капуста другое 10\n2 жадина-говядина на пузе барабан барабан 14\n3 жадина-говядина немецкий барабан барабан 12\n4 жадина-говядина соленый барабан барабан 11\n5 жадина-говядина соленый помидор другое 17\n6 жадина-говядина турецкий барабан барабан 3003\n7 жадина-говядина турецкий таракан другое 13\n\n\nКроме того, условия можно перечислить через запятую (аналог логического и):\n\nzhadina |> \n filter(n > 15,\n n < 100)\n\n# A tibble: 8 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n1 жадина-говядина бука шоколадина шоколадина 44\n2 жадина-говядина дома шоколадина шоколадина 29\n3 жадина-говядина кошка поросятина другое 42\n4 жадина-говядина кошка шоколадина шоколадина 18\n5 жадина-говядина простая шоколадина шоколадина 59\n6 жадина-говядина соленый помидор другое 17\n7 жадина-говядина сухая шоколадина шоколадина 16\n8 жадина-говядина тупая шоколадина шоколадина 50\n\n\nЛогическое “или” обозначается палочкой |:\n\nzhadina |> \n filter(n < 15 | n > 100)\n\n# A tibble: 18 × 5\n word_1 word_2 word_3 type n\n <chr> <chr> <chr> <chr> <dbl>\n 1 жадина-говядина большая шоколадина шоколадина 941\n 2 жадина-говядина булка шоколадина шоколадина 250\n 3 жадина-говядина в *опе огурец огурец 11\n 4 жадина-говядина в *опе шоколадина шоколадина 1117\n 5 жадина-говядина гнилая шоколадина шоколадина 12\n 6 жадина-говядина зеленый огурец огурец 343\n 7 жадина-говядина злая шоколадина шоколадина 10\n 8 жадина-говядина кислая капуста другое 10\n 9 жадина-говядина никто ее не ест другое 10\n10 жадина-говядина кусок шоколадины шоколадина 113\n11 жадина-говядина на пузе барабан барабан 14\n12 жадина-говядина немецкий барабан барабан 12\n13 жадина-говядина *опа шоколадина шоколадина 299\n14 жадина-говядина пустая шоколадина шоколадина 3774\n15 жадина-говядина соленый барабан барабан 11\n16 жадина-говядина соленый огурец огурец 26910\n17 жадина-говядина турецкий барабан барабан 3003\n18 жадина-говядина турецкий таракан другое 13", + "crumbs": [ + "2  Трансформация данных" + ] } ] \ No newline at end of file