# Wiggle Sort Function
# Rearranges the elements in the input vector into a wiggle pattern.
# Parameters:
# - arr: Input vector to be rearranged.
# Returns:
# - Wiggle sorted vector.
wiggle_sort <- function(arr) {
  n <- length(arr)
  for (i in 2:n) {
    if ((i %% 2 == 0 && arr[i] < arr[i - 1]) || (i %% 2 != 0 && arr[i] > arr[i - 1])) {
      # Swap elements at odd positions if they are greater
      # or at even positions if they are smaller.
      temp <- arr[i]
      arr[i] <- arr[i - 1]
      arr[i - 1] <- temp
    }
  }
  return(arr)
}

# Example usage:
elements_vec <- c(3, 5, 2, 1, 6, 4)
wiggle_sorted_vec <- wiggle_sort(elements_vec)
print(wiggle_sorted_vec)
## [1] 3 5 1 6 2 4