Last active
September 12, 2017 16:59
-
-
Save DavisVaughan/83392b067904707f9534b5d6c603a82c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Just an example "vector of means" | |
vec_of_means <- c(6.4, 2, 3.3, 4.6, 5, 8) | |
n <- length(vec_of_means) | |
# Loops! | |
for(i in 1:(n-1)) { | |
print(paste0("Hello i: ", vec_of_means[i], " ===")) | |
for(j in (i+1):n) { | |
print(paste0("Hello i: ", vec_of_means[i], " Hello j: ", vec_of_means[j])) | |
} | |
} | |
#> [1] "Hello i: 6.4 ===" | |
#> [1] "Hello i: 6.4 Hello j: 2" | |
#> [1] "Hello i: 6.4 Hello j: 3.3" | |
#> [1] "Hello i: 6.4 Hello j: 4.6" | |
#> [1] "Hello i: 6.4 Hello j: 5" | |
#> [1] "Hello i: 6.4 Hello j: 8" | |
#> [1] "Hello i: 2 ===" | |
#> [1] "Hello i: 2 Hello j: 3.3" | |
#> [1] "Hello i: 2 Hello j: 4.6" | |
#> [1] "Hello i: 2 Hello j: 5" | |
#> [1] "Hello i: 2 Hello j: 8" | |
#> [1] "Hello i: 3.3 ===" | |
#> [1] "Hello i: 3.3 Hello j: 4.6" | |
#> [1] "Hello i: 3.3 Hello j: 5" | |
#> [1] "Hello i: 3.3 Hello j: 8" | |
#> [1] "Hello i: 4.6 ===" | |
#> [1] "Hello i: 4.6 Hello j: 5" | |
#> [1] "Hello i: 4.6 Hello j: 8" | |
#> [1] "Hello i: 5 ===" | |
#> [1] "Hello i: 5 Hello j: 8" | |
# Compare each value in the vector to the mean of the rest of the vector | |
purrr::map(1:n, | |
~vec_of_means[.x] - mean(vec_of_means[-.x])) | |
#> [[1]] | |
#> [1] 1.82 | |
#> | |
#> [[2]] | |
#> [1] -3.46 | |
#> | |
#> [[3]] | |
#> [1] -1.9 | |
#> | |
#> [[4]] | |
#> [1] -0.34 | |
#> | |
#> [[5]] | |
#> [1] 0.14 | |
#> | |
#> [[6]] | |
#> [1] 3.74 | |
# This code does: | |
# Take 6.4 - mean(all_nums_not_6.4) | |
# Take 2 - mean(all_nums_not_2) | |
# Take 3.3 - mean(all_nums_not_3.3) | |
# ... | |
# Or he could have been wanting something like | |
purrr::map(1:n, | |
~vec_of_means[.x] - dplyr::lead(vec_of_means, .x)) | |
#> [[1]] | |
#> [1] 4.4 3.1 1.8 1.4 -1.6 NA | |
#> | |
#> [[2]] | |
#> [1] -1.3 -2.6 -3.0 -6.0 NA NA | |
#> | |
#> [[3]] | |
#> [1] -1.3 -1.7 -4.7 NA NA NA | |
#> | |
#> [[4]] | |
#> [1] -0.4 -3.4 NA NA NA NA | |
#> | |
#> [[5]] | |
#> [1] -3 NA NA NA NA NA | |
#> | |
#> [[6]] | |
#> [1] NA NA NA NA NA NA | |
# This code does: | |
# Take 6.4 - all_nums_after_6.4 | |
# Take 2 - all_nums_after_2 | |
# Take 3.3 - all_nums_after_3.3 | |
# ... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment