gpt4 book ai didi

r - 将第 1-12 周改为第 1 季度

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:50 28 4
gpt4 key购买 nike

我的数据集包含 48 周内每一天的信息。[我的数据集截图][1]

我希望创建一个名为“quarter”的新变量,将每一个week变量值=1-12的观测值标记为“a”,意思是“第一季度”;另外,将每个周变量值= 13-24的观察标记为“b”,意思是“第二季度”。

我尝试了 mutate()recode(),似乎只对 1 个值进行变异:

但是,当我试图将前 12 周标记为季度“a”时;第二个 12 周作为“b”季度,...失败如下:

Error: unexpected '=' in: " ungroup(week) %>% mutate(quarter = recode(week, c("1":"12") ="

我想知道如何修复它。谢谢!

最佳答案

来自 ?recode

This is a vectorised version of switch(): you can replace numeric values based on their position, and character values by their name. This is an S3 generic: dplyr provides methods for numeric, character, and factors. For logical vectors, use if_else(). For more complicated criteria, use case_when().

所以你可能需要使用 case_when()

total_activity %>% 
ungroup(week) %>%
mutate(quarter = case_when(week %in% c("1":"12") ~ "a",
week %in% c("13":"24") ~ "b",
week %in% c("25":"36") ~ "c",
week %in% c("37":"48") ~ "d"))

关于r - 将第 1-12 周改为第 1 季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52956138/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com