13 m4_include(`SQLCommon.m4
')
105 DROP TYPE IF EXISTS MADLIB_SCHEMA.correlation_result;
106 CREATE TYPE MADLIB_SCHEMA.correlation_result AS
113 -----------------------------------------------------------------------
114 -- Main function for correlation
115 -----------------------------------------------------------------------
116 /* @brief Compute a correlation matrix for a table with optional target columns specified
118 @param source_table Name of source relation containing the data
119 @param output_table Name of output table name to store the correlation
120 @param target_cols String with comma separated list of columns for which cross-correlation is desired
123 <pre> SELECT MADLIB_SCHEMA.correlation (
124 '<em>source_table</em>
', '<em>output_table</em>
',
125 '<em>target_cols</em>
'
127 SELECT * FROM '<em>output_table</em>
' order by '<em>colum_position</em>
';
130 CREATE FUNCTION MADLIB_SCHEMA.correlation(
131 source_table VARCHAR, -- input table name
132 output_table VARCHAR, -- output table name
133 target_cols VARCHAR -- comma separated list of output cols
136 RETURNS MADLIB_SCHEMA.correlation_result AS $$
137 PythonFunctionBodyOnly(`stats', `correlation
')
138 return correlation.correlation(schema_madlib, source_table, output_table, target_cols)
139 $$ LANGUAGE plpythonu VOLATILE;
141 -----------------------------------------------------------------------
142 -- Overloaded function
143 -----------------------------------------------------------------------
144 CREATE FUNCTION MADLIB_SCHEMA.correlation(
145 source_table VARCHAR, -- input table name
146 output_table VARCHAR -- output table name
148 RETURNS MADLIB_SCHEMA.correlation_result AS $$
149 select MADLIB_SCHEMA.correlation($1, $2, NULL)
152 -----------------------------------------------------------------------
154 -----------------------------------------------------------------------
155 CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.correlation(
159 PythonFunctionBodyOnly(`stats', `correlation
')
160 return correlation.correlation_help_message(schema_madlib, input_message)
161 $$ LANGUAGE plpythonu;
164 CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.correlation()
166 PythonFunctionBodyOnly(`stats', `correlation
')
167 return correlation.correlation_help_message(schema_madlib, None)
168 $$ LANGUAGE plpythonu;
169 -------------------------------------------------------------------------