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
  • 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.Linq
    • LinqExtensions Class
    • LinqExtensions.DataFrameGrouping(TKey, R, C) Class
    • LinqExtensions.DataFrameLookup(TKey, R, C) Class
    • LinqExtensions.Grouping(TKey, T) Class
    • LinqExtensions.Lookup(TKey, T) Class
  • LinqExtensions Class
    • Methods
  • Methods
    • Aggregate Method Overloads
    • Concat Method Overloads
    • GroupBy Method Overloads
    • Select Method Overloads
    • SelectMany Method Overloads
    • ToLookup Method Overloads
    • Where Method Overloads
  • Aggregate Method Overloads
    • Aggregate(T) Method (Vector(T), Func(T, T, T))
    • Aggregate(R, C, TAccumulate) Method (DataFrame(R, C), TAccumulate, Func(TAccumulate, DataFrameRow(R, C), TAccumulate))
    • Aggregate(T, TAccumulate) Method (Vector(T), TAccumulate, Func(TAccumulate, T, TAccumulate))
    • Aggregate(R, C, TAccumulate, TResult) Method (DataFrame(R, C), TAccumulate, Func(TAccumulate, DataFrameRow(R, C), TAccumulate), Func(TAccumulate, TResult))
    • Aggregate(T, TAccumulate, TResult) Method (Vector(T), TAccumulate, Func(TAccumulate, T, TAccumulate), Func(TAccumulate, TResult))
  • Aggregate(R, C, TAccumulate, TResult) Method (DataFrame(R, C), TAccumulate, Func(TAccumulate, DataFrameRow(R, C), TAccumulate), Func(TAccumulate, TResult))

LinqExtensionsAggregateR, C, TAccumulate, TResult Method (DataFrameR, C, TAccumulate, FuncTAccumulate, DataFrameRowR, C, TAccumulate, FuncTAccumulate, TResult)

Extreme Optimization Numerical Libraries for .NET Professional
Applies an accumulator function over the rows of a data frame. The specified seed value is used as the initial accumulator value.

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

C#
VB
C++
F#
Copy
public static TResult Aggregate<R, C, TAccumulate, TResult>(
	this DataFrame<R, C> frame,
	TAccumulate seed,
	Func<TAccumulate, DataFrameRow<R, C>, TAccumulate> func,
	Func<TAccumulate, TResult> resultSelector
)
<ExtensionAttribute>
Public Shared Function Aggregate(Of R, C, TAccumulate, TResult) ( 
	frame As DataFrame(Of R, C),
	seed As TAccumulate,
	func As Func(Of TAccumulate, DataFrameRow(Of R, C), TAccumulate),
	resultSelector As Func(Of TAccumulate, TResult)
) As TResult
public:
[ExtensionAttribute]
generic<typename R, typename C, typename TAccumulate, typename TResult>
static TResult Aggregate(
	DataFrame<R, C>^ frame, 
	TAccumulate seed, 
	Func<TAccumulate, DataFrameRow<R, C>^, TAccumulate>^ func, 
	Func<TAccumulate, TResult>^ resultSelector
)
[<ExtensionAttribute>]
static member Aggregate : 
        frame : DataFrame<'R, 'C> * 
        seed : 'TAccumulate * 
        func : Func<'TAccumulate, DataFrameRow<'R, 'C>, 'TAccumulate> * 
        resultSelector : Func<'TAccumulate, 'TResult> -> 'TResult 

Parameters

frame
Type: Extreme.DataAnalysisDataFrameR, C
A data frame to project.
seed
Type: TAccumulate
The initial accumulator value.
func
Type: SystemFuncTAccumulate, DataFrameRowR, C, TAccumulate
An accumulator function to be invoked on each element.
resultSelector
Type: SystemFuncTAccumulate, TResult
A function to be applied to the final accumulator value.

Type Parameters

R
The element type of the row index of the data frame.
C
The element type of the column index of the data frame.
TAccumulate
The type of the accumulated value.
TResult
The type of the final result.

Return Value

Type: TResult
The final accumulator value.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type DataFrameR, C. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Exceptions

ExceptionCondition
ArgumentNullException

frame is .

-or-

func is .

-or-

resultSelector is .

See Also

Reference

LinqExtensions Class
Aggregate Overload
Extreme.DataAnalysis.Linq 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.