首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R自开始学习周以来的记录天数

R自开始学习周以来的记录天数
EN

Stack Overflow用户
提问于 2021-11-16 09:03:46
回答 1查看 14关注 0票数 1

假设我有以下tibble

代码语言:javascript
复制
tb <- tibble(subject = rep(c("a", "b", "c"), each = 20), days = rep(-2:17, 3))

# A tibble: 60 x 2
   subject  days
   <chr>   <int>
 1 a          -2
 2 a          -1
 3 a           0
 4 a           1
 5 a           2
 6 a           3
 7 a           4
 8 a           5
 9 a           6
10 a           7

现在,我想创建一个变量,将day变量重新编码为保存学习周的变量。

但是,我希望避免ofc在大型case_when()语句中“手动”执行此操作,因为时不时会有更多数据传入。从第0天开始,我希望这个变量值每7天递增1。所有小于0的值都会得到-1(这里计算周数并不重要)。

示例性输出:

代码语言:javascript
复制
# A tibble: 60 x 2
   subject  days  study_week
   <chr>   <int>       <int>
 1 a          -2         -1
 2 a          -1         -1
 3 a           0          1
 4 a           1          1
 5 a           2          1
 6 a           3          1
 7 a           4          1
 8 a           5          1
 9 a           6          1
10 a           7          2
EN

回答 1

Stack Overflow用户

发布于 2021-11-16 09:15:12

代码语言:javascript
复制
library(tidyverse)
tb %>%
  mutate(study_week = ifelse(days < 0, -1, floor(days / 7) + 1))


#   <chr>   <int>      <dbl>
# 1 a          -2         -1
# 2 a          -1         -1
# 3 a           0          1
# 4 a           1          1
# 5 a           2          1
# 6 a           3          1
# 7 a           4          1
# 8 a           5          1
# 9 a           6          1
#10 a           7          2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69986298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档