标记 R 数据框中组内缺失的类别
当 score
变量缺少 0
和 max.score
之间的任何分数时,我想标记 itemid
物品。这是一个示例数据集。
df <- data.frame(id = c(1,2,3, 1,2,3, 1,2,3, 1,2,3, 1,2,3),
itemid = c(11,11,11, 12,12,12, 13,13,13, 14,14,14, 15,15,15),
score = c(0,1,2, 1,2,2, 0,1,1, 2,0,0, 1,1,1),
max.points = c(2,2,2, 2,2,2, 1,1,1, 2,2,2, 1,1,1 ))
> df
id itemid score max.points
1 1 11 0 2
2 2 11 1 2
3 3 11 2 2
4 1 12 1 2
5 2 12 2 2
6 3 12 2 2
7 1 13 0 1
8 2 13 1 1
9 3 13 1 1
10 1 14 2 2
11 2 14 0 2
12 3 14 0 2
13 1 15 1 1
14 2 15 1 1
15 3 15 1 1
在本例中,itemid=12
缺少 score
of 0
,itemid=14
缺少 score
of 1
,并且 itemid=15
缺少 score
of 0
。
关于如何标记第 12,14 和 15 项有什么想法吗?
谢谢!
I would like to flag itemid
when the score
variable is missing any score between 0
and max.score
of that item. Here is an example dataset.
df <- data.frame(id = c(1,2,3, 1,2,3, 1,2,3, 1,2,3, 1,2,3),
itemid = c(11,11,11, 12,12,12, 13,13,13, 14,14,14, 15,15,15),
score = c(0,1,2, 1,2,2, 0,1,1, 2,0,0, 1,1,1),
max.points = c(2,2,2, 2,2,2, 1,1,1, 2,2,2, 1,1,1 ))
> df
id itemid score max.points
1 1 11 0 2
2 2 11 1 2
3 3 11 2 2
4 1 12 1 2
5 2 12 2 2
6 3 12 2 2
7 1 13 0 1
8 2 13 1 1
9 3 13 1 1
10 1 14 2 2
11 2 14 0 2
12 3 14 0 2
13 1 15 1 1
14 2 15 1 1
15 3 15 1 1
In this case, itemid=12
is missing score
of 0
, itemid=14
is missing score
of 1
, and itemid=15
is missing score
of 0
.
Any ideas on how to flag items 12,14 and 15?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
按“itemid”分组,通过检查
max.points
序列(从 0 开始)的all
是否为% 来创建
'分数' 并求反 (flag
in%!
)- 输出
Grouped by 'itemid', create the
flag
by checking ifall
of the sequence ofmax.points
(from 0) are%in%
'score' and negate (!
)-output