.$
используется для извлечения столбца avg
как vector
.Здесь .
представляет данные, поступающие из lhs
из %>%
.Это может быть vector
или list
или data.frame
.В данном случае это data.frame
с одним столбцом 'avg'.Мы используем $
или [[
, чтобы извлечь столбец как vector
.Для этого есть также удобная функция pull
library(tidyverse)
galton_heights %>%
filter(round(father) == 72) %>%
summarize(avg = mean(son)) %>%
pull(avg)
В качестве воспроизводимого примера, используя data(mtcars)
, если мы не извлечем столбец 'avg', это будетdata.frame
с одним столбцом
mtcars %>%
summarise(avg = mean(hp)) %>%
str
# 'data.frame': 1 obs. of 1 variable:
#$ avg: num 147
Извлечение столбца возвращается как vector
.
mtcars %>%
summarise(avg = mean(hp)) %>%
.$avg
#[1] 146.6875
mtcars %>%
summarise(avg = mean(hp)) %>%
pull
#[1] 146.6875