How to | Perform Calculations on Columns of Data
You will often need to perform calculations on the columns in a dataset, particularly when the columns represent variables. While some functions automatically operate on columns of data when a rectangular array is given, others may require some manipulation of the data in order to operate on the columns.
Create some data to work with (SeedRandom ensures a predictable result):
data = BlockRandom[SeedRandom[3];
RandomInteger[10, {10, 4}]]The Wolfram Language characterizes data by grouping lists within other lists. Every list is interpreted as a row within the matrix of data:
MatrixForm[data]The Grid function displays data in the same fashion, only without the braces:
Grid[data]By default many functions operate on each column when a rectangular list of lists is given as the argument.
Mean[data]Find the standard deviation of the columns:
StandardDeviation[data]Find the median of each column:
Median[data]You can also select individual columns for calculations. Here, the first column from data is selected:
data[[All, 1]]Mean[data[[All, 1]]]StandardDeviation[data[[All, 1]]]Median[data[[All, 1]]]For matrices with more than two columns, plot the rows as separate datasets:
ListLinePlot[ data]Plot the columns by transposing the data:
ListLinePlot[ Transpose[data]]For functions that operate on vectors, map the function onto the transposed data to operate on columns:
Map[Normalize, Transpose[data]]Transpose the result to get a matrix with normalized columns:
Transpose[%]Transposing and mapping can also be done for functions that flatten their argument:
Map[Max, Transpose[data]]