Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.DataAnalysis
    • Accumulator(T, U) Class
    • Aggregator(T, U) Class
    • Aggregator2(T, U) Class
    • Aggregator2Group Class
    • Aggregator2Group(T) Class
    • AggregatorGroup Class
    • AggregatorGroup(T) Class
    • Aggregators Class
    • BoundaryIntervalBehavior Enumeration
    • CategoricalEncoding Class
    • DataFrame Class
    • DataFrame(R, C) Class
    • DataFrameRow(R, C) Class
    • DateTimeExtensions Class
    • DateTimeUnit Enumeration
    • Direction Enumeration
    • Grouping Class
    • Grouping(TKey) Class
    • Histogram Class
    • Histogram(T) Class
    • IAccumulator(T, U) Interface
    • IAccumulator2(T, U) Interface
    • IAccumulator2(T, U, V) Interface
    • IAggregator Interface
    • IAggregator(T) Interface
    • IAggregator2 Interface
    • IAggregator2(T) Interface
    • IDataFrame Interface
    • IGrouping Interface
    • IIndex Interface
    • Index Class
    • Index(T) Class
    • IntervalIndex(T) Class
    • IPivot Interface
    • JoinIndex Class
    • JoinType Enumeration
    • MissingValueAction Enumeration
    • MissingValueException Class
    • MultipleMissingValueAction Enumeration
    • Parameter(T) Class
    • ParameterVector(T) Class
    • Pivot Class
    • Pivot(R, C) Class
    • RankTiebreaker Enumeration
    • Recurrence Class
    • SortOrder Enumeration
    • SpecialBins Enumeration
    • Subset Class
    • TransformedParameter(T) Class
    • TypePreservingAggregatorGroup Class
    • VectorExtensions Class
  • Grouping Class
    • Methods
  • Methods
    • ByQuantile Method Overloads
    • ByValue Method Overloads
    • ExpandingWindow Method Overloads
    • Group Method Overloads
    • Partition Method Overloads
    • Pivot(R, C) Method
    • RangeWindow Method Overloads
    • Resample Method Overloads
    • VariablePartition(T) Method
    • VariableWindow(T) Method
    • Window Method Overloads
  • VariablePartition(T) Method

GroupingVariablePartitionT Method

Extreme Optimization Numerical Libraries for .NET Professional
Constructs a grouping that represents a collection of non-overlapping chunks based on the specified condition.

Namespace:  Extreme.DataAnalysis
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
public static Grouping<T> VariablePartition<T>(
	IList<T> index,
	Func<T, T, bool> condition,
	Direction direction = Direction.Forward
)
Public Shared Function VariablePartition(Of T) ( 
	index As IList(Of T),
	condition As Func(Of T, T, Boolean),
	Optional direction As Direction = Direction.Forward
) As Grouping(Of T)
public:
generic<typename T>
static Grouping<T>^ VariablePartition(
	IList<T>^ index, 
	Func<T, T, bool>^ condition, 
	Direction direction = Direction::Forward
)
static member VariablePartition : 
        index : IList<'T> * 
        condition : Func<'T, 'T, bool> * 
        ?direction : Direction 
(* Defaults:
        let _direction = defaultArg direction Direction.Forward
*)
-> Grouping<'T> 

Parameters

index
Type: System.Collections.GenericIListT
The index the grouping is over.
condition
Type: SystemFuncT, T, Boolean
A delegate that indicates whether two keys are in the same window.
direction (Optional)
Type: Extreme.DataAnalysisDirection
The direction in which index is traversed to validate the condition.

Type Parameters

T

Return Value

Type: GroupingT
Remarks

The extent of each chunk is determined by the first key value and condition. The window is extended as long as condition returns whe applied to the first key and the subsequent keys.

The direction parameter determines whether chunks are created and extended from the beginning (forward) or the end (backward). The grouping is still in the original order even if going backward.

See Also

Reference

Grouping Class
Extreme.DataAnalysis Namespace

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.