小编Tan*_*con的帖子

计算序列以包括NA值

这是一个类似于更大数据集的示例数据框:

Day <- c(1, 2, NA, 3, 4, NA, NA, NA, NA, NA, 1, 2, 3, NA, NA, NA, NA, 1, 2, NA, NA, 3, 4, 5)
y   <- rpois(length(Day), 2)
z   <- seq(1:length(Day)) + 500
df  <- data.frame(z, Day, y)
Run Code Online (Sandbox Code Playgroud)

如果Day列中存在4个或更多缺失值(NAs)的序列,则该序列表示研究中的群组之间的差距.如果序列中少于4个NA,则缺失值仍被视为群组的一部分(例如,行3是群组1的一部分,但行8不是).在样本数据框中,有3个群组(群组1:行1-5,群组2:行11-13,群组3:行18-24).我想添加一个列出队列号的列和另一个列出队列研究日的列.这是我使用的代码:

require(dplyr)
CheckNA        <- rle(is.na(df$Day))
CheckNA$values <- CheckNA$lengths >= 4 & CheckNA$values == 1
ListNA         <- rep(CheckNA$values, CheckNA$lengths)
df$Co          <- rep(c(1, NA, 2, NA, 3), rle(ListNA)$lengths) %>% as.factor()

df <- df %>% 
  group_by (Co) %>% 
  mutate(CoDay = seq(Co)) %>% …
Run Code Online (Sandbox Code Playgroud)

r sequence

7
推荐指数
1
解决办法
158
查看次数

标签 统计

r ×1

sequence ×1