Предположим, у меня есть:
> dat
Num Location Angle StartTime
1 1 mast6_u 0 17602
2 2 mast6_v 0 17602
3 3 mast6_w 0 18602
4 4 sonic_f_u 0 2
5 5 sonic_f_v 0 2
6 6 sonic_f_w 0 2
7 7 mast6_u 5 13001
8 8 mast6_v 5 13001
9 9 mast6_w 5 13002
10 10 sonic_f_u 5 2
11 11 sonic_f_v 5 2
12 12 sonic_f_w 5 2
Для преобразования всех углов 0
в значение 0
для mast6_w
вы можете сделать:
for (angle in c(0,5))
{
dat[which(dat$Angle==0),4] <- dat[which(dat$Location=="mast6_w" & dat$Angle==0),4]
}
Это устанавливаетзначение 4-го столбца для всех углов 0
к значению в 0
и mast6_w
.Затем вы получите:
> dat
Num Location Angle StartTime
1 1 mast6_u 0 18602
2 2 mast6_v 0 18602
3 3 mast6_w 0 18602
4 4 sonic_f_u 0 18602
5 5 sonic_f_v 0 18602
6 6 sonic_f_w 0 18602
7 7 mast6_u 5 13001
8 8 mast6_v 5 13001
9 9 mast6_w 5 13002
10 10 sonic_f_u 5 2
11 11 sonic_f_v 5 2
12 12 sonic_f_w 5 2
Для других структура здесь:
structure(list(Num = 1:12, Location = c("mast6_u", "mast6_v",
"mast6_w", "sonic_f_u", "sonic_f_v", "sonic_f_w", "mast6_u",
"mast6_v", "mast6_w", "sonic_f_u", "sonic_f_v", "sonic_f_w"),
Angle = c(0L, 0L, 0L, 0L, 0L, 0L, 5L, 5L, 5L, 5L, 5L, 5L),
StartTime = c(17602L, 17602L, 18602L, 2L, 2L, 2L, 13001L,
13001L, 13002L, 2L, 2L, 2L)), class = "data.frame", row.names = c(NA,
-12L))