我能找到的使用
pivot_longer
的所有示例都具有以下模式:names_transform
df %>% pivot_longer(
...
names_to = "x",
names_transform = list(x = some_func) # same name as names_to
)
是否还有另一种有用的参数形式,可以证明必须以命名列表的形式提供参数?
注意:names_transform
对我的小标题中的
names_transform = list(x = f1, y=f2)
列没有影响。y
= c("x", "y", "z"),然后可以提供
names_to
。例如,在names_transform = list(x = f1, y=f2)
中,我们有:
vignette("pivot")
尽管如此,
who %>% pivot_longer(
cols = new_sp_m014:newrel_f65,
names_to = c("diagnosis", "gender", "age"),
names_pattern = "new_?(.*)_(.)(.*)",
names_transform = list(
gender = ~ readr::parse_factor(.x, levels = c("f", "m")),
age = ~ readr::parse_factor(
.x,
levels = c("014", "1524", "2534", "3544", "4554", "5564", "65"),
ordered = TRUE
)
),
values_to = "count",
)
似乎只能转换在
names_transform
中命名的列。