Я создал несколько образцов данных, выполнив:
library(dplyr)
Dataset_z <- data.frame(Total.LT = sample(1:6,10,replace=T),
DayCount = sample(1:10,10,replace=T),
t = sample(1:6,10,replace=T),
NET.INV = sample(1:20, 10, replace = T),
Source = sample(c("a", "b", "c", "d", "e"),10,replace=T),
Plant = sample(c("a", "b", "c", "d", "e"),10,replace=T),
Material = sample(c("a", "b", "c", "d", "e"),10,replace=T), stringsAsFactors = F)
DataSet_z выглядит так:
Total.LT DayCount t NET.INV Source Plant Material
1 5 6 6 20 a c b
2 3 2 6 9 b c b
3 4 4 2 5 e e d
4 3 3 2 12 a c a
5 1 8 2 9 c d a
6 2 2 2 16 c b d
7 4 8 1 15 c b a
8 3 5 6 6 d a e
9 5 3 6 11 c b a
10 4 5 5 1 c e c
Для выполнения фильтрации и группировки вам не нужно использовать оператор $
, поскольку dplyr присоединяет столбцы с помощью оператора %>%
.
Dataset_z %>% filter(DayCount >= Total.LT & DayCount <= t) %>% group_by(Source, Plant, Material) %>% mutate(A = min(NET.INV))
В результате:
Total.LT DayCount t NET.INV Source Plant Material A
<int> <int> <int> <int> <chr> <chr> <chr> <dbl>
1 5 6 6 20 a c b 20
2 2 2 2 16 c b d 16
3 3 5 6 6 d a e 6
4 4 5 5 1 c e c 1