Udostępnij za pośrednictwem


levene_test_fl()

Funkcja jest funkcją levene_test_fl()zdefiniowaną przez użytkownika , która wykonuje test Levene.

Wymagania wstępne

  • Wtyczka języka Python musi być włączona w klastrze. Jest to wymagane w przypadku wbudowanego języka Python używanego w funkcji .
  • Wtyczka języka Python musi być włączona w bazie danych. Jest to wymagane w przypadku wbudowanego języka Python używanego w funkcji .

Składnia

T | invoke levene_test_fl(data1,data2,, test_statisticp_value)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
data1 string ✔️ Nazwa kolumny zawierającej pierwszy zestaw danych do użycia na potrzeby testu.
data2 string ✔️ Nazwa kolumny zawierającej drugi zestaw danych do użycia na potrzeby testu.
test_statistic string ✔️ Nazwa kolumny do przechowywania wartości statystyki testowej dla wyników.
p_value string ✔️ Nazwa kolumny do przechowywania wartości p dla wyników.

Definicja funkcji

Funkcję można zdefiniować, osadzając jej kod jako funkcję zdefiniowaną przez zapytanie lub tworząc ją jako funkcję przechowywaną w bazie danych w następujący sposób:

Zdefiniuj funkcję przy użyciu następującej instrukcji let. Nie są wymagane żadne uprawnienia.

Ważne

Instrukcja let nie może być uruchamiana samodzielnie. Po nim musi znajdować się instrukcja wyrażenia tabelarycznego. Aby uruchomić działający przykład levene_test_fl()polecenia , zobacz Przykład.

<!-- let levene_test_fl = (tbl:(*), data1:string, data2:string, test_statistic:string, p_value:string)
{
    let kwargs = bag_pack('data1', data1, 'data2', data2, 'test_statistic', test_statistic, 'p_value', p_value);
    let code = ```if 1:
        from scipy import stats
        data1 = kargs["data1"]
        data2 = kargs["data2"]
        test_statistic = kargs["test_statistic"]
        p_value = kargs["p_value"]
        def func(row):
            statistics = stats.levene(row[data1], row[data2])
            return statistics[0], statistics[1]
        result = df
        result[[test_statistic, p_value]]  = df.apply(func, axis=1, result_type = "expand")
    ```;
    tbl
    | evaluate python(typeof(*), code, kwargs)
};
// Write your query to use the function here.

Przykład

W poniższym przykładzie użyto operatora invoke do uruchomienia funkcji.

Aby użyć funkcji zdefiniowanej przez zapytanie, wywołaj ją po definicji funkcji osadzonej.

<!-- let levene_test_fl = (tbl:(*), data1:string, data2:string, test_statistic:string, p_value:string)
{
    let kwargs = bag_pack('data1', data1, 'data2', data2, 'test_statistic', test_statistic, 'p_value', p_value);
    let code = ```if 1:
        from scipy import stats
        data1 = kargs["data1"]
        data2 = kargs["data2"]
        test_statistic = kargs["test_statistic"]
        p_value = kargs["p_value"]
        def func(row):
            statistics = stats.levene(row[data1], row[data2])
            return statistics[0], statistics[1]
        result = df
        result[[test_statistic, p_value]]  = df.apply(func, axis=1, result_type = "expand")
    ```;
    tbl
    | evaluate python(typeof(*), code, kwargs)
};
datatable(id:string, sample1:dynamic, sample2:dynamic) [
'Test #1', dynamic([23.64, 20.57, 20.42]), dynamic([27.1, 22.12, 33.56]),
'Test #2', dynamic([20.85, 21.89, 23.41]), dynamic([35.09, 30.02, 26.52]),
'Test #3', dynamic([20.13, 20.5, 21.7, 22.02]), dynamic([32.2, 32.79, 33.9, 34.22])
]
| extend test_stat= 0.0, p_val = 0.0
| invoke levene_test_fl('sample1', 'sample2', 'test_stat', 'p_val')

Dane wyjściowe

identyfikator sample1 sample2 test_stat p_val
Test nr 1 [23.64, 20.57, 20.42] [27.1, 22.12, 33.56] 1.5587395987367387 0.27993504690044563
Test nr 2 [20.85, 21.89, 23.41] [35.09, 30.02, 26.52] 1.6402495788130482 0.26950872948841353
Test nr 3 [20.13, 20.5, 21.7, 22.02] [32.2, 32.79, 33.9, 34.22] 0.0032989690721642395 0.95606240301049072

Ta funkcja nie jest obsługiwana.