2015-05-03 14 views
5

Sono un novizio di latex e voglio importare un riepilogo statsmodels (python-package) nel mio rapporto in latex. Ho scoperto che è possibile trasformare un sommario in una tabella in lattice con il seguente metodo: latex_as_tabular. Fino ad ora tutto funziona. Ora devo memorizzare il tabulare, ma non capisco davvero come funzioni.statsmodels summary to latex

suppongo che devo utilizzare i seguenti comandi:

x_values=sm.add_constant(x_values) 
model=sm.OLS(y_values, x_values) 
results=model.fit() 
tbl=results.summary(xname=['b,'a'],yname='y') 
with open('c:/temp/temp.tex','w') as fh: 
    fh.write(tbl.as_latex_tabular()) 

questo codice non funziona fino ad ora. il più delle volte la console dà l'errore: tex-file non esiste o non è permesso in questa mappa. Non capisco davvero cosa devo fare qui. Qualcuno potrebbe aiutarmi per favore con questo?

+0

Si prega di aggiungere l'errore stacktrace alla domanda per rendere più semplice per gli altri con un problema simile trovare la domanda. – cel

+0

C'è un errore nel codice di esempio: A '' 'manca per chiudere il carattere' b'. Inoltre consiglio di codificare secondo PEP8, in particolare avendo spazi attorno agli operatori. – MERose

risposta

7

Questo sembra essere un equivoco. Puoi convertire un intero riassunto in latex tramite summary.as_latex() o convertire le sue tabelle uno per uno chiamando table.as_latex_tabular() per ogni tabella.

Il seguente codice di esempio è tratto dalla documentazione statsmodels. Si noti che non è possibile chiamare as_latex_tabular su un oggetto summary.

import numpy as np 
import statsmodels.api as sm 

nsample = 100 
x = np.linspace(0, 10, 100) 
X = np.column_stack((x, x**2)) 
beta = np.array([1, 0.1, 10]) 
e = np.random.normal(size=nsample) 

X = sm.add_constant(X) 
y = np.dot(X, beta) + e 

model = sm.OLS(y, X) 
results = model.fit() 

# do either 
print(results.summary().as_latex()) 

# alternatively 
for table in results.summary().tables: 
    print(table.as_latex_tabular()) 
+0

Ok hai ragione. Ma non è ancora chiaro per me come sia possibile inserirlo in un file tex. l'estate è convertita in stringa di lattice e dopo? – Driedan

+1

Dopodiché hai una stringa con codice in lattice: niente di più, niente di meno. Quello che fai con quella stringa dipende da te. Potresti ad es. scrivi quella stringa in un file e includi questo file in uno dei tuoi documenti in lattice. – cel

+0

@cel, sarei grato se potessi dare un'occhiata a questo e grazie: https://stackoverflow.com/questions/44759309/python-rolling-window-ols-regression-estimation –