【发布时间】:2021-09-08 00:30:32
【问题描述】:
我有一个由多个组组成的数据集,这些组具有连续的编号箱(每个组中的箱数不一定相同)和一个布尔存在/不存在值。我希望能够生成一些输出,指示其中存在非连续“当前”值的组。
一个最小的代表应该是这样的:
x <- NULL
x$group <- c(rep("A",4),rep("B", 5), rep("C",4))
x$bin <- c(1,2,3,4,1,2,3,4,5,1,2,3,4)
x$status <- c("absent", "present", "absent", "present", "absent", "present", "present", "absent", "absent", "absent", "absent", "present", "present")
as.data.frame(x)
group bin status
1 A 1 absent
2 A 2 present
3 A 3 absent
4 A 4 present
5 B 1 absent
6 B 2 present
7 B 3 present
8 B 4 absent
9 B 5 absent
10 C 1 absent
11 C 2 absent
12 C 3 present
13 C 4 present
输出可能是同一数据框中带有标志的另一列,
group bin status flag
1 A 1 absent 1
2 A 2 present 1
3 A 3 absent 1
4 A 4 present 1
5 B 1 absent 0
6 B 2 present 0
7 B 3 present 0
8 B 4 absent 0
9 B 5 absent 0
10 C 1 absent 0
11 C 2 absent 0
12 C 3 present 0
13 C 4 present 0
一个单独的数据框或矩阵,如:
group flag
1 A TRUE
2 B FALSE
3 C FALSE
或列表:
> flagged_groups
[1] "A"
我觉得写这篇文章我已经整理出了一些我必须做的事情,但我很想听听你的想法,以一种简洁(和整洁)的方式来提炼我的数据。
【问题讨论】: