如何使用摘要创建变量向量?

How to create a vector of variables using summarise?

这是一个初学者的问题:

我喜欢使用 summarise(),但有时我发现很难存储结果。 例如,我知道我可以按以下方式存储 1 个值:

stdv <- Data %>%
 filter(x == 1) %>%
 summarise(stdv = sd(y))

但是如果我尝试对超过 1 个变量这样做,我会遇到麻烦。 我认为这与在开始时创建 vector o 变量有关,但这不起作用:

c(dog, cat) <- Data %>%
 filter(x == 1) %>%
 summarise(dog = sd(y),
           cat = mean(y))

有人可以帮忙吗?谢谢你

您可以将其存储在这样的向量中:

save_vector <- df %>% 
  summarise(dog = sd(id),
            cat = var(id)) %>% 
  unlist()
save_vector 

#     dog      cat 
#1.636392 2.677778 

数据

structure(list(id = c("1", "4", "3", "4", "6", "3", "5", "6", 
"2", "3")), row.names = c(NA, -10L), class = c("tbl_df", "tbl", 
"data.frame"))

我们可以使用base R方法

with(df, c(dog = sd(id), cat = var(id)))
#    dog      cat 
#1.636392 2.677778 

数据

df <- structure(list(id = c("1", "4", "3", "4", "6", "3", "5", "6", 
"2", "3")), row.names = c(NA, -10L), class = c("tbl_df", "tbl", 
"data.frame"))