library(tidyverse)
df <- tibble(Date = as.Date(c("2020-01-01", "2020-01-02")),
Shop = c("Store A", "Store B"),
Employees = c(5, 10),
Sales = c(1000, 3000))
#> # A tibble: 2 x 4
#> Date Shop Employees Sales
#> <date> <chr> <dbl> <dbl>
#> 1 2020-01-01 Store A 5 1000
#> 2 2020-01-02 Store B 10 3000我将从dplyr扩展/聚集切换到pivot_*,在dplyr参考指南之后。我想以下列方式收集“雇员”和“销售”栏:
df %>% pivot_longer(-Date, -Shop, names_to = "Names", values_to = "Values")
#> Error in build_longer_spec(data, !!cols, names_to = names_to,
#> values_to = values_to, : object 'Shop' not found但我得到了这个错误。好像我做的一切都是对的。但我显然不是。你知道出了什么问题吗?
发布于 2020-02-28 22:31:10
cols参数是您想要枢轴的所有列。您可以将其看作是对id.vars参数reshape2::melt的补充。
df %>% pivot_longer(-c(Date, Shop), names_to = "Names", values_to = "Values")与:
reshape2::melt(df, id.vars=c("Date", "Shop"), variable.name="Names", value.name="Value")发布于 2020-02-28 23:15:24
我认为一个更清晰的语法是
df %>%
pivot_longer(cols = c(Employees, Sales))与编写要删除的列相反。
names_to = "Names", values_to = "Values"只是将name和value的默认新列名大写。
https://stackoverflow.com/questions/60459953
复制相似问题