условное среднее утверждение r

dataset <- data.frame(continuous = rnorm(n = 10),
                      binary = sample(x = 0:1, size = 10, replace = TRUE))

dataset
#>     continuous binary
#> 1  -0.01978487      0
#> 2  -1.14185292      0
#> 3   0.20931787      0
#> 4  -0.63720730      0
#> 5   1.07750407      1
#> 6  -1.59274225      0
#> 7  -0.48722740      1
#> 8  -0.64151044      0
#> 9  -0.64111755      0
#> 10  0.99598287      1

# your method
mean(dataset[dataset$binary == 1, 1])
#> [1] 0.5287532
mean(dataset[dataset$binary == 0, 1])
#> [1] -0.6378425

# using by
by(data = dataset$continuous, INDICES = dataset$binary, FUN = mean)
#> dataset$binary: 0
#> [1] -0.6378425
#> -------------------------------------------------------- 
#> dataset$binary: 1
#> [1] 0.5287532
Calm Crossbill