Spaces:
Sleeping
Sleeping
import gradio as gr | |
import pandas as pd | |
import pingouin as pg | |
def kira_anova(alamat: str) -> pd.DataFrame: | |
komponen_alamat: list = alamat.split("/") | |
spreadsheet: str = komponen_alamat[5] | |
sheet: str = komponen_alamat[6].split("#")[1] | |
alamat_baru: str = f'https://docs.google.com/spreadsheets/d/{spreadsheet}/export?format=csv&{sheet}' | |
data: pd.DataFrame = pd.read_csv(alamat_baru) | |
senarai_lajur: list = list(data.columns) | |
dv: str = senarai_lajur[-1] | |
faktor: list = senarai_lajur[:-1] | |
jadual_anova: pd.DataFrame = pg.anova( | |
data=data, | |
dv=dv, | |
between=faktor, | |
ss_type=3, | |
detailed=True, | |
effsize="np2" | |
).round(5) | |
if jadual_anova.iloc[-2, -2] >= 0.05: | |
jadual_anova = pg.anova( | |
data=data, | |
dv=dv, | |
between=faktor, | |
ss_type=2, | |
detailed=True, | |
effsize="np2" | |
).round(5) | |
return jadual_anova | |
arahan: str = f'''1. Data dalam bentuk memanjang ke bawah. | |
2. Pembolehubah bersandar berada di *lajur terakhir (paling kanan)*. | |
3. Status *sharing* file Google Sheet ditetapkan sebagai *Anyone with the link*. | |
4. Sila masukkan alamat file Google Sheet di sini: | |
''' | |
analisis_data: gr.Interface = gr.Interface( | |
fn=kira_anova, | |
inputs=gr.Textbox(label="Alamat Google Sheet", show_label=True), | |
outputs=gr.DataFrame(label="Jadual ANOVA", show_label=True), | |
description=arahan, | |
allow_flagging="never", | |
title="N-Way Univariate ANOVA", | |
submit_btn=gr.Button("Hantar", variant="primary"), | |
clear_btn=gr.Button("Semula", variant="secondary") | |
) | |
if __name__ == "__main__": | |
analisis_data.launch() |