【发布时间】:2020-02-15 20:34:29
【问题描述】:
data=data.frame("team"=c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5),
"score"=c(4,8,10,3,10,5,4,2,7,7,5,6,5,9,1),
"trial"=c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3),
"sc3"=c(0,0,0,1,0,0,0,1,0,0,0,0,0,0,1),
"sc7"=c(0,0,0,1,0,1,1,1,1,1,1,1,1,0,1),
"sc9"=c(1,1,0,1,0,1,1,1,1,1,1,1,1,1,1),
"sc3trial"=c(-99,-99,-99,1,1,1,2,2,2,-99,-99,-99,3,3,3),
"sc7trial"=c(-99,-99,-99,1,1,1,1,1,1,1,1,1,1,1,1),
"sc9trial"=c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))
我有“团队”、“分数”和“试验”列的数据。我想创建遵循这些规则的变量“sc3”、“sc7”、“sc9”、“sc3trial”、“sc7trial”、“sc9trial”::
“sc#”的规则很简单。请注意,这些是针对每个组的:
- 对于“sc3”:如果分数
- 对于“sc7”:如果分数
- 对于“sc9”:如果分数
“sc#trial”的规则也很简单。请注意,这些是针对每个组的:
- 对于“sc3trial”:如果任何“sc3” == 1,sc3trial 将记录第一次发生的试验。如果没有“sc3”等于“1”,则“sc3trial”等于“-99” 此逻辑同样适用于“sc7trial”和“sc9trial”
【问题讨论】:
-
一个混乱,在标题中它说选择第一个值,但在你的描述中,它说
if any "sc3" == 1。你能检查我的 dplyr 代码吗?这是预期的输出