Я бы просто использовал findInterval
, чтобы добраться до нужного вам номера, а затем сразу создать dmilk.
Вы не дадите нам то, что было в dmilk, поэтому я просто предположил, что это был текст "наполнитель "
dat <- data.frame(del = c(21, 320, 362, 288, 81, 66, 267, 235, 229, 425, 383, 361, 197,
260, 106, 238, 74, 102, 148, 197, 329, 428), dmilk = "filler")
val <- findInterval(dat$del, c(100, 200, 300))+1 #gives 0-3 so add 1 to get 1-4
dat$dmilk <- paste(val, dat$dmilk)
, который дает
> dat
del dmilk
1 21 1 filler
2 320 4 filler
3 362 4 filler
4 288 3 filler
5 81 1 filler
6 66 1 filler
7 267 3 filler
8 235 3 filler
9 229 3 filler
10 425 4 filler
11 383 4 filler
12 361 4 filler
13 197 2 filler
14 260 3 filler
15 106 2 filler
16 238 3 filler
17 74 1 filler
18 102 2 filler
19 148 2 filler
20 197 2 filler
21 329 4 filler
22 428 4 filler