Недавний ответ SO, бесстыдно скопированный, использовал dplyr :: pivot_longer для обработки 6 переменных в три.
Я могу понять логи c для всех аргументов pivot_longer, за исключением names to
'.values'
вход.
Я могу понять, что он делает: он создает новые имена переменных на основе первого выражения регулярного выражения в скобках в аргументе names_pattern
.
Мой вопрос: как работает «.values»?
Я вижу, что он используется в разделе примеров функции pivot_longer для "Несколько наблюдений на строку"; но никакого объяснения в этом примере не приводится.
Такое ощущение, что это может быть опция регулярного выражения .
означает, что соответствует любому символу, кроме \ n; или это вывод типа «местоимение», который, по-видимому, является общим в «tidyverse», означающем что-то вроде «вывод или значение выражения регулярного выражения»?
Любые указания или указатели, где найти информацию о том, как было бы полезно понять тонкости pivot_longer.
Или это просто случай экспериментировать с функцией и понять, что она делает, делая?
Ссылка на оригинальный вопрос: [ развернуть длиннее с несколькими столбцами и значениями
library(tibble)
library(tidyr)
tib <- tibble(type = c(1L, 1L, 1L, 2L, 2L, 2L),
id = c(1L, 2L, 3L, 1L, 2L, 3L),
age2000 = c(20L, 35L, 24L, 32L, 66L, 14L),
age2001 = c(21L, 36L, 25L, 33L, 67L, 15L),
age2002 = c(22L, 37L, 26L, 34L, 68L, 16L),
bool2000 = c(1L, 2L, 1L, 2L, 2L, 1L),
bool2001 = c(1L, 2L, 1L, 2L, 2L, 1L),
bool2002 = c(1L, 2L, 1L, 2L, 2L, 1L))
pivot_longer(tib,
cols = -c(id, type),
names_to = c('.value', 'year'),
names_pattern = '([a-z]+)(\\d+)')