| Title: | Statistical Models Collection for trama |
|---|---|
| Description: | Nodes for statistical models in a trama graph: linear and generalized linear models from columns or a typed formula; analysis of variance for the classical experimental designs (completely randomized, randomized blocks, latin square, factorial and split plot) with type I, II and III sums of squares; linear mixed models with lme4 and lmerTest; estimated marginal means, compact letter displays and pairwise or Dunnett comparisons with emmeans; Duncan, Waller-Duncan and Scott-Knott grouping; effect sizes and coefficient forest plots; residual diagnostics and assumption tests; and the classical hypothesis tests with the Dunn post hoc. Every p-value is shown on a logarithmic gauge with significance stars. Builds on trama.data for tables and trama.view for plots. |
| Authors: | Pedro Mambelli Fernandes [aut, cre] (ORCID: <https://orcid.org/0009-0001-1695-279X>), João Paulo Assis Bonifácio [aut] (ORCID: <https://orcid.org/0009-0009-2335-8391>) |
| Maintainer: | Pedro Mambelli Fernandes <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.6.9 |
| Built: | 2026-10-10 22:51:48 UTC |
| Source: | https://github.com/uaipedro/trama |
ANOVA de um delineamento em blocos casualizados (DBC).
tr_models_anova_dbc(dados, resposta = "", tratamento = "", bloco = "")tr_models_anova_dbc(dados, resposta = "", tratamento = "", bloco = "")
dados |
tabela. |
resposta |
coluna da resposta. |
tratamento |
coluna do tratamento (vira fator). |
bloco |
coluna do bloco (vira fator). |
objeto 'tr_models_fit'.
ANOVA de um delineamento inteiramente casualizado (DIC).
tr_models_anova_dic(dados, resposta = "", tratamento = "")tr_models_anova_dic(dados, resposta = "", tratamento = "")
dados |
tabela. |
resposta |
coluna da resposta. |
tratamento |
coluna do tratamento (vira fator). |
objeto 'tr_models_fit'.
ANOVA de um delineamento em quadrado latino (DQL).
tr_models_anova_dql( dados, resposta = "", tratamento = "", linha = "", coluna = "" )tr_models_anova_dql( dados, resposta = "", tratamento = "", linha = "", coluna = "" )
dados |
tabela. |
resposta |
coluna da resposta. |
tratamento |
coluna do tratamento (vira fator). |
linha, coluna
|
colunas das duas restrições (viram fator). |
objeto 'tr_models_fit'.
ANOVA de um fatorial (2 ou 3 fatores), em DIC ou em blocos.
tr_models_anova_factorial(dados, resposta = "", fatores = "", bloco = "")tr_models_anova_factorial(dados, resposta = "", fatores = "", bloco = "")
dados |
tabela. |
resposta |
coluna da resposta. |
fatores |
de 2 a 3 colunas, separadas por vírgula (viram fator). |
bloco |
coluna do bloco; em branco, o fatorial é em DIC. |
objeto 'tr_models_fit'.
O quadro tem DOIS erros: o da parcela (erro a, bloco × parcela), que testa o fator da parcela, e o de dentro (erro b), que testa a subparcela e a interação. Um 'lm' com um erro só testaria o fator da parcela contra o erro errado — com gl a mais e p-valor pequeno demais, que é o engano clássico.
tr_models_anova_split_plot( dados, resposta = "", parcela = "", subparcela = "", bloco = "" )tr_models_anova_split_plot( dados, resposta = "", parcela = "", subparcela = "", bloco = "" )
dados |
tabela. |
resposta |
coluna da resposta. |
parcela |
coluna do fator da parcela. |
subparcela |
coluna do fator da subparcela. |
bloco |
coluna do bloco. |
Guarda três ajustes: o 'aov' com 'Error()' (o quadro), um 'lm' com 'bloco:parcela' fixo (os resíduos do erro b, para os pressupostos) e o 'lmer' com '(1 | bloco:parcela)', que dá os mesmos F no balanceado e é o que o 'emmeans' sabe usar — sobre o 'aovlist' ele devolve erro padrão NaN.
objeto 'tr_models_fit'.
Quadro da ANOVA.
tr_models_anova_table(modelo, tipo_sq = "I")tr_models_anova_table(modelo, tipo_sq = "I")
modelo |
objeto 'tr_models_fit'. |
tipo_sq |
'"I"' (sequencial), '"II"' ou '"III"'. |
objeto 'tr_models_effects'.
Para a coleção que monta o próprio ajuste (a regressão de uma série, com o tempo e o período construídos por ela) e quer que todos os leitores da models o aceitem sem reimplementar o contrato: 'classe' escolhe os métodos ('"lm"' ou '"gls"'), e o resto é o mesmo objeto que os blocos daqui produzem.
tr_models_as_fit( ajuste, classe, rotulo, formula, dados, resposta, nota = "", extra = list() )tr_models_as_fit( ajuste, classe, rotulo, formula, dados, resposta, nota = "", extra = list() )
ajuste |
o objeto 'lm' ou 'gls' já ajustado. |
classe |
'"lm"' ou '"gls"'. |
rotulo |
texto do topo do card. |
formula |
a fórmula do ajuste. |
dados |
a tabela usada no ajuste. |
resposta |
nome da coluna resposta. |
nota |
aviso do ajuste, em texto ('""' se não houver). |
extra |
lista de campos a mais que a coleção guarda no objeto (e que os leitores daqui ignoram). |
objeto 'tr_models_fit'.
Só sem bloco: nos resíduos de um DBC/DQL o teste não tem correção publicada para a correlação dos resíduos, e o bloco recusa apontando o Levene de O'Neill & Mathews.
tr_models_bartlett(modelo)tr_models_bartlett(modelo)
modelo |
objeto 'tr_models_fit'. |
objeto 'tr_models_test'.
Reamostra as linhas com reposição (dentro de **grupo**, quando dado), reajusta e resume cada quantidade: estimativa, viés, erro-padrão, intervalos percentil e BCa ('boot::boot.ci') e a fração de reamostras com o mesmo sinal.
tr_models_bootstrap( modelo, quantidade = "coeficientes", especs = "", grupo = "", reamostras = 1999L, confianca = 0.95, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita", .seed = 1L )tr_models_bootstrap( modelo, quantidade = "coeficientes", especs = "", grupo = "", reamostras = 1999L, confianca = 0.95, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita", .seed = 1L )
modelo |
um 'models/fit' da classe lm. |
quantidade |
'coeficientes', 'médias' (marginais de 'especs') ou 'diferenças' (pares de médias, a de nível posterior menos a anterior). |
especs |
o fator das médias; em branco, o primeiro fator do modelo. |
grupo |
coluna dos estratos; em branco, 'especs' nas médias e diferenças (cada nível mantém seu n) e nenhum nos coeficientes. |
reamostras |
B. |
confianca |
nível dos intervalos. |
.seed |
semente (vem do card). |
'list(out, tabela, distribuicao)'.
Regride o quadrado dos resíduos nos preditores do modelo: se eles explicam o tamanho do resíduo, a variância não é constante. A versão de Koenker (n·R²) não pressupõe normalidade, e é a padrão do 'lmtest::bptest'.
tr_models_breusch_pagan(modelo)tr_models_breusch_pagan(modelo)
modelo |
objeto 'tr_models_fit'. |
objeto 'tr_models_test'.
Qui-quadrado de independência.
tr_models_chisq(dados, linha = "", coluna = "", correcao = FALSE)tr_models_chisq(dados, linha = "", coluna = "", correcao = FALSE)
dados |
tabela. |
linha, coluna
|
as duas colunas categóricas. |
correcao |
correção de continuidade de Yates (só em 2 × 2). Desligada por padrão: torna o teste conservador (Agresti 2002). |
objeto 'tr_models_test'.
Nível de fator é texto livre ("Iris setosa", "não-germinou", "2"), e coluna com espaço ou hífen obriga crase em todo 'data/mutate' a jusante. Troca cada sequência de caracteres que não são letra ou dígito (Unicode: acento fica) por '_', apara as pontas, e desempata com 'make.unique' — dois níveis que saneiam igual ("a b" e "a-b") não podem virar a mesma coluna.
tr_models_clean_name(x)tr_models_clean_name(x)
x |
vetor de textos (os níveis). |
vetor de mesmo tamanho, sem repetição.
Coeficientes.
tr_models_coefficients( modelo, exponenciar = FALSE, escala = "unidade", confianca = 0.95, intervalo = "padrão" )tr_models_coefficients( modelo, exponenciar = FALSE, escala = "unidade", confianca = 0.95, intervalo = "padrão" )
modelo |
objeto 'tr_models_fit'. |
exponenciar |
no GLM, devolver 'exp()' da estimativa e do intervalo (razão de chances na binomial, razão de taxas na poisson). |
escala |
'"unidade"' (por unidade da preditora) ou '"desvio padrão"' (por desvio padrão da coluna da matriz de design; t e p não mudam). |
confianca |
nível do intervalo; as colunas saem 'li_<nível>', 'ls_<nível>' ('li_95' no padrão). |
intervalo |
'"padrão"' (o de cada modelo: t exato no 'lm', Wald no GLM e no misto, perfilado na logística da 'multi'), '"perfilado"' (GLM e logística da 'multi': verossimilhança perfilada) ou '"Wald"'. |
objeto 'tr_models_effects'; modelo de outra coleção pode trazer a coluna 'grupo' (a classe de cada linha numa logística multinomial).
É o que os programas de experimentação fazem (a variância de uma média é QM/r), e não o 'summary()' do 'lm' nas médias, cujo resíduo é o desvio da regressão.
## S3 method for class 'tr_models_dose' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )## S3 method for class 'tr_models_dose' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )
Coeficientes do GLMM: z de Wald e intervalo de Wald, como no 'summary()' do 'lme4'; o perfil de verossimilhança reajusta o modelo dezenas de vezes.
## S3 method for class 'tr_models_glmer' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )## S3 method for class 'tr_models_glmer' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )
Coeficientes do GLS: t com n − p gl e intervalo do 'nlme::intervals'.
## S3 method for class 'tr_models_gls' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )## S3 method for class 'tr_models_gls' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )
Coeficientes com IC de Wald (t com os gl do resíduo): o perfil de verossimilhança seria mais honesto na assimetria, mas falha justo nos ajustes difíceis, e um card que ora tem IC ora não confunde mais.
## S3 method for class 'tr_models_nls' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )## S3 method for class 'tr_models_nls' tr_models_coefs( x, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ... )
d = (média1 − média2) / DP combinado, com o DP combinado das duas amostras (o do t de Student). g = J · d, com J = 1 − 3 / (4(n1 + n2) − 9), que tira o viés para cima do d em amostra pequena. O intervalo é o normal de Hedges & Olkin (1985): EP(d)² = (n1 + n2) / (n1 n2) + d² / (2(n1 + n2)); o de g é o de d vezes J. Aproximado, e bom a partir de uns 10 por grupo — o exato, pela t não central, difere pouco.
tr_models_cohen_d(dados, resposta = "", grupo = "", confianca = 0.95)tr_models_cohen_d(dados, resposta = "", grupo = "", confianca = 0.95)
dados |
tabela. |
resposta |
coluna numérica. |
grupo |
coluna com dois grupos. |
confianca |
nível do intervalo. |
tibble com 'medida', 'estimativa', 'li', 'ls', 'n1', 'n2'.
Dois modelos aninhados: o termo a mais melhora o ajuste?
tr_models_compare(modelo, outro)tr_models_compare(modelo, outro)
modelo, outro
|
objetos 'tr_models_fit' da mesma família, nas mesmas linhas. |
objeto 'tr_models_test'.
Matriz de confusão: classe real × classe prevista.
tr_models_confusion( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", predito = "previsto", tabela = "matriz", permitir_treino = FALSE )tr_models_confusion( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", predito = "previsto", tabela = "matriz", permitir_treino = FALSE )
modelo |
um 'models/fit' de classificação, ou 'NULL' (modo tabela). |
dados |
tabela: sem 'modelo', já com a resposta e o previsto; com 'modelo', a tabela a prever (precisa da resposta do modelo). |
validacao |
só com 'modelo' sem 'dados': '"cruzada"' (cada linha prevista sem ela) ou '"resubstituição"'. |
resposta, predito
|
só no modo tabela: as colunas da classe real e da prevista. |
tabela |
'"matriz"' (padrão) ou '"métricas"' (acurácia, acurácia balanceada, kappa e precisão/revocação/F1 por classe: 'medida', 'grupo', 'valor'). |
permitir_treino |
com a tabela marcada pelo 'ml/split' (em 'dados'): FALSE (padrão) recusa avaliar linhas do treino ('tr_ml_error_train_eval'); TRUE avalia, avisa e acrescenta a 'nota' de otimismo. Tabela sem a marca é avaliada como chega. |
tibble: 'real', uma coluna de contagem por classe prevista, 'total', 'acertos', 'taxa_acerto'; a última linha, 'real = "total"', é o geral.
Todo objeto que viaja no tipo 'models/fit' tem classe 'c("<específica>", "tr_models_fit")' e implementa estes genéricos. O store aceita qualquer classe assim desde que [tr_models_info()] devolva uma descrição válida; os demais métodos são pedidos só por quem os usa, e o que faltar vira erro 'tr_models_error_no_method' nomeando a classe.
tr_models_info(x) tr_models_predict_raw(x, novos, ...) tr_models_predict_cv(x, validacao = "resubstituição") tr_models_coefs(x, ...) tr_models_stats(x) tr_models_resid(x) tr_models_importance(x) tr_models_card(x, ctx) tr_models_serialize(x) tr_models_unserialize(x) tr_models_as_table(x)tr_models_info(x) tr_models_predict_raw(x, novos, ...) tr_models_predict_cv(x, validacao = "resubstituição") tr_models_coefs(x, ...) tr_models_stats(x) tr_models_resid(x) tr_models_importance(x) tr_models_card(x, ctx) tr_models_serialize(x) tr_models_unserialize(x) tr_models_as_table(x)
x |
um modelo ('inherits(x, "tr_models_fit")'). |
novos |
data.frame com as colunas de 'info$preditores'. |
... |
argumentos da classe (na models: 'intervalo', 'confianca'). |
validacao |
'"resubstituição"' ou '"cruzada"'. |
ctx |
o contexto do preview ('ctx$file(ext)'). |
- 'tr_models_info(x)': **obrigatório**. Lista com 'tarefa' ('"regressao"' ou '"classificacao"'), 'resposta' (texto), 'preditores' (texto; as colunas que 'novos' precisa ter), 'niveis' (texto, os níveis da resposta na ordem do modelo — obrigatório na classificação, 'NULL' na regressão), 'n' (linhas do ajuste), 'rotulo' (o topo do card) e 'familia' (texto ou 'NULL'). - 'tr_models_predict_raw(x, novos, ...)': prevê em 'novos' (data.frame já com as colunas de 'info$preditores'). Devolve 'list(previsto, prob, extra)': 'previsto' numérico na regressão, FATOR com os níveis de 'info$niveis' na classificação; 'prob' matriz 'n × k' com 'colnames = info$niveis' (ou 'NULL' na regressão / sem probabilidade); 'extra' data.frame de 'n' linhas para colunas a mais ('li', 'ls') ou 'NULL'. As probabilidades saem para a tabela como 'prob_<nivel>', com o nível saneado por [tr_models_clean_name()]. - 'tr_models_predict_cv(x, validacao)': o mesmo formato, no TREINO: '"resubstituição"' (prevê as linhas que ajustaram) ou '"cruzada"' (cada linha prevista por um modelo que não a viu). - 'tr_models_coefs(x, ...)': um 'tr_models_effects' (colunas 'termo', 'p_valor'; 'grupo' opcional). - 'tr_models_stats(x)': tibble de UMA linha com as medidas de ajuste. - 'tr_models_resid(x)': a tabela do ajuste com os resíduos (só regressão). - 'tr_models_importance(x)': tibble 'termo', 'importancia', 'medida'. - 'tr_models_card(x, ctx)': o 'trama::tr_preview()' do card. - 'tr_models_serialize(x)' / 'tr_models_unserialize(x)': o que o store grava e o que devolve do que leu. Default: identidade (o objeto vai inteiro no RDS); existe para quem guarda ponteiro externo (xgboost). - 'tr_models_as_table(x)': o adaptador 'models/fit' → 'data/table'.
Teste de correlação.
tr_models_cor_test(dados, x = "", y = "", metodo = "pearson")tr_models_cor_test(dados, x = "", y = "", metodo = "pearson")
dados |
tabela. |
x, y
|
as duas colunas numéricas. |
metodo |
'"pearson"', '"spearman"' ou '"kendall"'. |
objeto 'tr_models_test'.
Teste de Duncan.
tr_models_duncan(modelo, tratamento = "", confianca = 0.95)tr_models_duncan(modelo, tratamento = "", confianca = 0.95)
modelo |
objeto 'tr_models_fit' de uma ANOVA. |
tratamento |
fator (ou até 3, para as combinações). |
confianca |
nível de confiança; o Duncan roda a alfa = 1 - confianca. |
objeto 'tr_models_emm'.
À mão, e não pelo 'FSA'/'dunn.test': são dez linhas, e o pacote traria uma dependência para uma fórmula. Os postos são os da amostra INTEIRA (é o que distingue o Dunn de rodar Wilcoxon par a par): z = (R̄i − R̄j) / EP, com EP² = [N(N + 1)/12 − Σ(t³ − t) / (12(N − 1))] · (1/ni + 1/nj), a correção de empates dentro dos colchetes. O p é bilateral, 2 · P(Z > |z|).
tr_models_dunn(dados, resposta = "", grupo = "", ajuste = "holm")tr_models_dunn(dados, resposta = "", grupo = "", ajuste = "holm")
dados |
tabela. |
resposta |
coluna numérica. |
grupo |
coluna dos grupos. |
ajuste |
correção dos p-valores: '"holm"' (padrão), '"bonferroni"', '"sidak"' ou '"nenhum"'. |
objeto 'tr_models_effects', um par por linha.
Tudo sai do quadro do 'tr_models_anova_table()', com o erro de CADA termo: o resíduo logo abaixo dele no quadro. Na parcela subdividida isso dá o erro (a) para o fator da parcela e o (b) para a subparcela e a interação, que é o que o F de cada um usa.
tr_models_effect_size(modelo, tipo_sq = "I")tr_models_effect_size(modelo, tipo_sq = "I")
modelo |
objeto 'tr_models_fit' de uma ANOVA (lm, delineamento, subdividida). |
tipo_sq |
'"I"', '"II"' ou '"III"', como no quadro. |
- eta² = SQ / SQ total: a fração da variação total do termo. Soma no máximo 1 entre os termos, e diminui quando se põem mais termos no modelo. Com SQ tipo II/III as SQ não somam o total, e o denominador é a soma das SQ do quadro — a coluna 'base_eta2' diz qual foi. - eta² parcial = SQ / (SQ + SQ do erro): o termo contra o próprio erro. - ômega² = (SQ − gl · QM do erro) / (SQ total + QM do erro): o eta² corrigido do viés. Só com UM erro: na subdividida o total mistura os dois estratos, e a coluna sai NA. - ômega² parcial (Olejnik & Algina 2003, fatores manipulados) = (SQ − gl · QM do erro) / (SQ + (N − gl) · QM do erro), com o erro do termo: é o que vale para a subdividida.
Bloco, linha e coluna do DQL e o bloco da subdividida SAEM da tabela: são controle da casualização, e um "tamanho de efeito do bloco" ao lado do do tratamento convida a comparar o que não se compara.
tibble com 'termo', 'gl', 'eta2', 'eta2_parcial', 'omega2', 'omega2_parcial', 'erro' e 'base_eta2'.
Exportado porque o contrato promete que 'tr_models_coefs()' devolve um 'tr_models_effects', e a coleção irmã que implementa o método não tem como montar um sem repetir aqui os campos que o store confere.
tr_models_effects( tabela, titulo, coluna_estat = NULL, rodape = list(), nota = "", fonte = "" )tr_models_effects( tabela, titulo, coluna_estat = NULL, rodape = list(), nota = "", fonte = "" )
tabela |
data.frame com 'termo' e 'p_valor' (e o que mais o quadro tiver). |
titulo |
o topo do card. |
coluna_estat |
o nome da coluna da estatística ('"z"', '"t"'), ou 'NULL'. |
rodape |
lista nomeada de textos curtos. |
nota, fonte
|
textos do pé do card. |
Médias ajustadas, com letras.
tr_models_emmeans( modelo, especs = "", por = "", ajuste = "tukey", confianca = 0.95, escala = "resposta" )tr_models_emmeans( modelo, especs = "", por = "", ajuste = "tukey", confianca = 0.95, escala = "resposta" )
modelo |
objeto 'tr_models_fit'. |
especs |
fatores das médias, separados por vírgula ('"tratamento"', ou '"A, B"' para as combinações). |
por |
fatores de condição: as médias e as letras são feitas DENTRO de cada nível deles (o desdobramento da interação). |
ajuste |
correção das comparações que fazem as letras. |
confianca |
nível de confiança do intervalo; as letras são feitas a alfa = 1 - confianca. |
escala |
'"resposta"' ou '"ligação"' (só muda algo no GLM). |
objeto 'tr_models_emm'.
Mesmo princípio de 'trama::tr_errors()' e das coleções irmãs, e mesmo teste de duas direções: uma tabela que um teste confere contra o código, pra não envelhecer em silêncio.
tr_models_errors()tr_models_errors()
Modelo tem o seu modo de falha que sai verde: o 'lm' ajusta dose 50/100/150 como reta quando se queria tratamento, o Shapiro roda nos resíduos de um GLM de contagem onde normalidade nunca foi pressuposto, o 'anova' compara dois modelos ajustados em linhas diferentes. Nada disso erra no R. Aqui vira card vermelho, dizendo o que fazer.
data.frame com 'class' e 'when'.
Métricas de previsão: o erro (regressão) ou o acerto (classificação).
tr_models_evaluate( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", predito = "previsto", positiva = "", permitir_treino = FALSE )tr_models_evaluate( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", predito = "previsto", positiva = "", permitir_treino = FALSE )
modelo |
um 'models/fit' de classificação, ou 'NULL' (modo tabela). |
dados |
tabela: sem 'modelo', já com a resposta e o previsto; com 'modelo', a tabela a prever (precisa da resposta do modelo). |
validacao |
só com 'modelo' sem 'dados': '"cruzada"' (cada linha prevista sem ela) ou '"resubstituição"'. |
resposta, predito
|
só no modo tabela: as colunas da classe real e da prevista. |
positiva |
classificação binária: a classe das 'sensitivity' e 'specificity'; vazio = o segundo nível. |
permitir_treino |
com a tabela marcada pelo 'ml/split' (em 'dados'): FALSE (padrão) recusa avaliar linhas do treino ('tr_ml_error_train_eval'); TRUE avalia, avisa e acrescenta a 'nota' de otimismo. Tabela sem a marca é avaliada como chega. |
tibble 'metrica', 'valor', 'n' (as linhas que contaram); na classificação também 'classe' (NA nas globais; a classe nas 'precision', 'recall' e 'f1' por classe, com o suporte em 'n').
Carrega um conjunto de exemplo.
tr_models_example(dataset = "PlantGrowth")tr_models_example(dataset = "PlantGrowth")
dataset |
nome do conjunto (ver a ajuda do nó). |
tibble.
Exato de Fisher.
tr_models_fisher_exact(dados, linha = "", coluna = "")tr_models_fisher_exact(dados, linha = "", coluna = "")
dados |
tabela. |
linha, coluna
|
as duas colunas categóricas. |
objeto 'tr_models_test'.
As mesmas colunas para todo modelo, com NA onde a medida não existe: é o que deixa um 'data/bind_rows' de três modelos virar a tabela de comparação.
tr_models_fit_stats(modelo)tr_models_fit_stats(modelo)
modelo |
objeto 'tr_models_fit'. |
tibble de uma linha.
A alternativa não paramétrica ao DBC com UMA observação por bloco e tratamento, e aos blocos incompletos. Os três testes respondem à mesma pergunta (algum tratamento difere, com os postos tomados dentro do bloco) e diferem só no desenho que aceitam: - '"friedman"': blocos completos (Friedman 1937); bloco incompleto sai inteiro, e a nota conta quantos e aponta os outros dois. - '"durbin"': blocos incompletos balanceados (BIB: todo bloco com k < t parcelas, todo tratamento r vezes, todo par junto λ vezes), estatística T1 de Durbin (1951) na forma de Conover (1999), que corrige empates. Desenho que não é BIB recusa e aponta o Skillings–Mack. - '"skillings_mack"': faltantes quaisquer (Skillings & Mack 1981); bloco com uma observação só sai. Empates recebem posto médio, sem correção. - '"auto"' (padrão): Friedman com os blocos completos, Durbin com BIB, Skillings–Mack no resto; a nota diz qual foi.
tr_models_friedman( dados, resposta = "", tratamento = "", bloco = "", metodo = "auto" )tr_models_friedman( dados, resposta = "", tratamento = "", bloco = "", metodo = "auto" )
dados |
tabela. |
resposta |
coluna numérica. |
tratamento |
coluna do tratamento. |
bloco |
coluna do bloco. |
metodo |
'"auto"', '"friedman"', '"durbin"' ou '"skillings_mack"'. |
Casela repetida recusa (nenhum dos três a define).
objeto 'tr_models_test'.
Modelo linear generalizado.
tr_models_glm( dados, resposta = "", preditores = "", formula = "", familia = "poisson" )tr_models_glm( dados, resposta = "", preditores = "", formula = "", familia = "poisson" )
dados |
tabela. |
resposta |
coluna da resposta (ignorada quando há fórmula). |
preditores |
colunas dos preditores, separadas por vírgula. |
formula |
fórmula digitada, '"y ~ x1 + x2"'; quando preenchida, vence. |
familia |
'"gaussiana"', '"binomial"', '"poisson"', '"gama"', '"quasipoisson"' ou '"quasibinomial"', cada uma com a ligação canônica (log na gama). |
objeto 'tr_models_fit'.
Máxima verossimilhança pela aproximação de Laplace (o padrão do 'lme4'). 'nivel_obs' soma um intercepto aleatório por linha, '(1 | .obs)': a variância extra-binomial ou extra-Poisson vira um componente de variância (Harrison 2014), a saída do misto para a superdispersão.
tr_models_glmer( dados, formula = "", resposta = "", fixos = "", grupo = "", familia = "binomial", nivel_obs = FALSE )tr_models_glmer( dados, formula = "", resposta = "", fixos = "", grupo = "", familia = "binomial", nivel_obs = FALSE )
dados |
tabela. |
formula |
fórmula digitada, '"y ~ x1 + x2"'; quando preenchida, vence. |
resposta |
coluna da resposta (ignorada quando há fórmula). |
fixos |
colunas dos efeitos fixos (atalho sem fórmula). |
grupo |
coluna do intercepto aleatório (atalho sem fórmula). |
familia |
'"binomial"' ou '"poisson"' (ligações canônicas). |
nivel_obs |
soma um efeito aleatório por observação. |
objeto 'tr_models_fit'.
Para medidas repetidas no tempo sem supor esfericidade: a correlação entre as medidas de um mesmo grupo (animal, parcela) é AR(1), simetria composta ou não estruturada, e 'variancia_por' dá uma variância a cada nível ('varIdent'). As posições no grupo vêm de 'tempo' (ordenado) ou, sem ele, da ordem das linhas.
tr_models_gls( dados, formula = "", correlacao = "ar1", grupo = "", tempo = "", variancia_por = "", reml = TRUE )tr_models_gls( dados, formula = "", correlacao = "ar1", grupo = "", tempo = "", variancia_por = "", reml = TRUE )
dados |
tabela. |
formula |
fórmula dos efeitos fixos. |
correlacao |
'"nenhuma"', '"ar1"', '"car1"' (AR(1) em tempo contínuo, 'corCAR1', para ocasiões desigualmente espaçadas: correlação phi^|t - s| na distância real), '"simetria_composta"' ou '"nao_estruturada"'. |
grupo |
coluna das unidades com medidas repetidas. |
tempo |
coluna da ocasião (opcional). |
variancia_por |
coluna cujos níveis têm variâncias próprias (opcional). |
reml |
REML (padrão) ou máxima verossimilhança. |
objeto 'tr_models_fit'.
Cada classe diz a sua medida (coluna 'medida'): |t| nos modelos daqui, redução de impureza ou ganho nas árvores da 'ml'. Não se compara entre medidas.
tr_models_importance_table(modelo)tr_models_importance_table(modelo)
modelo |
um 'models/fit'. |
tibble 'termo', 'importancia', 'medida', do maior para o menor.
Medidas de influência por observação para um ajuste linear.
tr_models_influence( modelo, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_influence( modelo, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
objeto 'models/fit' de classe 'lm'. |
'tr_models_effects' com uma linha por observação.
Kruskal-Wallis: dois ou mais grupos.
tr_models_kruskal(dados, resposta = "", grupo = "")tr_models_kruskal(dados, resposta = "", grupo = "")
dados |
tabela. |
resposta |
coluna numérica. |
grupo |
coluna dos grupos. |
objeto 'tr_models_test'.
No DIC e nos modelos de fórmula, ANOVA dos desvios absolutos dos resíduos em relação ao centro de cada grupo ('car::leveneTest'). Nos delineamentos com bloco (DBC, fatorial em DBC, DQL), o teste de O'Neill & Mathews (2002): ANOVA dos |resíduos| de mínimos quadrados em tratamento + bloco (+ linha e coluna) com o F corrigido; ali o centro é sempre o ajuste do modelo (média), e 'centro' não muda o resultado.
tr_models_levene(modelo, centro = "mediana")tr_models_levene(modelo, centro = "mediana")
modelo |
objeto 'tr_models_fit'. |
centro |
'"mediana"' (Brown-Forsythe, robusto; padrão) ou '"média"' (o Levene original). Ignorado nos delineamentos com bloco. |
objeto 'tr_models_test'.
Opcionais. As classes daqui (lm, glm, lmer, glmer, gls, nls) são lidas por dentro; um modelo de outra coleção entra nos dois blocos implementando:
tr_models_loglik(x) ## Default S3 method: tr_models_loglik(x) tr_models_nesting(x, outro) ## Default S3 method: tr_models_nesting(x, outro)tr_models_loglik(x) ## Default S3 method: tr_models_loglik(x) tr_models_nesting(x, outro) ## Default S3 method: tr_models_nesting(x, outro)
x, outro
|
modelos ('tr_models_fit'). |
- 'tr_models_loglik(x)': 'list(ll, k, n)' — log-verossimilhança MÁXIMA, nº de parâmetros estimados (variância incluída) e nº de observações que entram na verossimilhança. É o que 'models/select' usa no AIC, AICc e BIC. - 'tr_models_nesting(x, outro)': 'x' está aninhado em 'outro'? Devolve o texto dos termos a mais (vai na hipótese nula do teste) ou aborta dizendo por que não; 'models/compare' faz então a razão de verossimilhança com 'tr_models_loglik()'.
O default dos dois é 'NULL': "não implementa".
Teste F da hipótese linear geral.
tr_models_linear_hypothesis(modelo, hipoteses = "", fator = "")tr_models_linear_hypothesis(modelo, hipoteses = "", fator = "")
modelo |
objeto 'tr_models_fit'. |
hipoteses |
as linhas de L, separadas por ';' ou quebra de linha, cada uma com rótulo opcional ('"nome: ..."'). |
fator |
coluna-fator cujas médias os contrastes combinam; em branco, as hipóteses são sobre os coeficientes. |
objeto 'tr_models_test'.
Texto e lógico viram fator; número fica número. A decisão de tratar uma dose como fator é da pessoa, na fórmula ('factor(dose)'), e não do bloco — nos blocos de ANOVA é o contrário, e a ajuda dos dois diz isso.
tr_models_lm(dados, resposta = "", preditores = "", formula = "")tr_models_lm(dados, resposta = "", preditores = "", formula = "")
dados |
tabela. |
resposta |
coluna da resposta (ignorada quando há fórmula). |
preditores |
colunas dos preditores, separadas por vírgula. |
formula |
fórmula digitada, '"y ~ x1 + x2"'; quando preenchida, vence. |
objeto 'tr_models_fit'.
Pela fórmula, com os termos aleatórios na sintaxe do 'lme4' — '(1 | bloco)', '(dias | sujeito)' —, ou pelo atalho de colunas, que monta um intercepto aleatório por 'grupo'. O 'lmerTest::lmer' e não o 'lme4::lmer': é o mesmo ajuste, com a classe que sabe dar gl de Satterthwaite ao quadro e aos coeficientes.
tr_models_lmer( dados, formula = "", resposta = "", fixos = "", grupo = "", reml = TRUE )tr_models_lmer( dados, formula = "", resposta = "", fixos = "", grupo = "", reml = TRUE )
dados |
tabela. |
formula |
fórmula digitada, '"y ~ x1 + x2"'; quando preenchida, vence. |
resposta |
coluna da resposta (ignorada quando há fórmula). |
fixos |
colunas dos efeitos fixos (atalho sem fórmula). |
grupo |
coluna do intercepto aleatório (atalho sem fórmula). |
reml |
REML (padrão) ou máxima verossimilhança. |
objeto 'tr_models_fit'.
Regressão não linear com modelos prontos.
tr_models_nls(dados, resposta = "", preditor = "", modelo = "logístico")tr_models_nls(dados, resposta = "", preditor = "", modelo = "logístico")
dados |
tabela. |
resposta |
coluna da resposta. |
preditor |
a coluna numérica da preditora (uma só). |
modelo |
'"logístico"', '"Michaelis-Menten"', '"exponencial assintótico"', '"Gompertz"' ou '"linear-platô"'. |
objeto 'tr_models_fit' de classe 'tr_models_nls'.
t para uma amostra.
tr_models_one_sample_t(dados, variavel = "", mu = 0, alternativa = "bilateral")tr_models_one_sample_t(dados, variavel = "", mu = 0, alternativa = "bilateral")
dados |
tabela. |
variavel |
coluna numérica testada. |
mu |
valor de referência. |
alternativa |
'"bilateral"', '"menor"' ou '"maior"' (o primeiro grupo em relação ao segundo, na ordem dos níveis). |
objeto 'tr_models_test'.
t pareado.
tr_models_paired_t(dados, antes = "", depois = "", alternativa = "bilateral")tr_models_paired_t(dados, antes = "", depois = "", alternativa = "bilateral")
dados |
tabela. |
antes, depois
|
as duas colunas numéricas medidas na mesma unidade. |
alternativa |
'"bilateral"', '"menor"' ou '"maior"' (o primeiro grupo em relação ao segundo, na ordem dos níveis). |
objeto 'tr_models_test'.
Comparações de médias: todos os pares, ou contra um controle (Dunnett).
tr_models_pairwise( medias, metodo = "todos os pares", controle = "", ajuste = "tukey", .seed = NULL )tr_models_pairwise( medias, metodo = "todos os pares", controle = "", ajuste = "tukey", .seed = NULL )
medias |
objeto 'tr_models_emm'. |
metodo |
'"todos os pares"' ou '"contra controle"'. |
controle |
nível do controle (com '"contra controle"'). |
ajuste |
correção; '"dunnett"' é o padrão natural contra controle. É o Dunnett exato: 'adjust = "mvt"' do emmeans, integração da t multivariada (Genz-Bretz), com erro numérico de ~1e-3 a partir de 3 contrastes. |
.seed |
semente do nó: torna o Dunnett (Monte Carlo quase-aleatório) reprodutível, sem mexer no estado aleatório da sessão. |
objeto 'tr_models_effects'.
Testa um termo por permutação da resposta, mantendo fixa a matriz do modelo.
tr_models_permutation( modelo, termo = "", grupo = "", reamostras = 9999L, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita", .seed = 1L )tr_models_permutation( modelo, termo = "", grupo = "", reamostras = 9999L, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita", .seed = 1L )
Gráfico de lagarta dos efeitos aleatórios.
tr_models_plot_caterpillar( modelo, grupo = "", intervalo = "IC", confianca = 0.95, faixa_desvio = TRUE, ordenar = TRUE, aspecto = "3:4", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "abaixo" )tr_models_plot_caterpillar( modelo, grupo = "", intervalo = "IC", confianca = 0.95, faixa_desvio = TRUE, ordenar = TRUE, aspecto = "3:4", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "abaixo" )
modelo |
objeto 'tr_models_fit' de um misto (ou parcela subdividida). |
grupo |
fator de agrupamento; em branco, o primeiro do modelo. |
intervalo |
largura das barras: '"IC"' (com 'confianca'), '"± 1 EP"' ou '"± 2 EP"'. |
confianca |
nível do IC quando 'intervalo = "IC"'; ignorado nos EP. |
faixa_desvio |
sombrear ±1 desvio padrão do componente de variância. |
ordenar |
ordenar os níveis pelo efeito. |
Lê o 'tr_models_coefs()' do contrato, e não o ajuste: por isso vale para todo modelo com coeficiente — 'lm', 'glm', misto, a logística da 'multi' e a referência linear da 'ml'. Substitui o 'multi/plot_odds', que era este mesmo gráfico só para a logística; um fluxo antigo abre aqui com 'exponenciar' e a escala por desvio padrão que eram o padrão de lá.
tr_models_plot_coefficients( modelo, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ordenar = "modelo", aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_plot_coefficients( modelo, exponenciar = FALSE, escala = "unidade", confianca = 0.95, ordenar = "modelo", aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
objeto 'tr_models_fit'. |
exponenciar |
no GLM, devolver 'exp()' da estimativa e do intervalo (razão de chances na binomial, razão de taxas na poisson). |
escala |
'"unidade"' (por unidade da preditora) ou '"desvio padrão"' (por desvio padrão da coluna da matriz de design; t e p não mudam). |
confianca |
nível do intervalo; as colunas saem 'li_<nível>', 'ls_<nível>' ('li_95' no padrão). |
ordenar |
'"modelo"' (a ordem dos termos no modelo, de cima para baixo) ou '"estimativa"' (do maior para o menor). |
A cor diz se o intervalo cruza a referência (0, ou 1 exponenciado): é a leitura que o gráfico existe para facilitar. Exponenciado, o eixo é log, em que dobrar e reduzir à metade ficam à mesma distância do 1.
ggplot.
Resíduos × ajustados (linearidade, variância), Q-Q normal, escala-locação (variância) e histograma. Numa figura só, e não quatro nós, porque se leem juntos: o funil do primeiro painel e a cauda do Q-Q costumam ser a mesma coisa vista de dois lados.
tr_models_plot_diagnostics( modelo, aspecto = "1:1", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_plot_diagnostics( modelo, aspecto = "1:1", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
objeto 'tr_models_fit'. |
Médias com intervalo de confiança e letras.
tr_models_plot_means( medias, letras = TRUE, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_plot_means( medias, letras = TRUE, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
medias |
objeto 'tr_models_emm'. |
letras |
escrever as letras acima dos intervalos. |
A figura das teses: na dose-resposta os pontos são as MÉDIAS das doses (a curva foi ajustada a elas) e, na parábola, a linha tracejada marca a dose de máxima (ou mínima) eficiência técnica; no não linear os pontos são as observações, e no linear-platô a linha marca o início do platô.
tr_models_plot_regression( modelo, observacoes = FALSE, equacao = TRUE, aspecto = "4:3", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_plot_regression( modelo, observacoes = FALSE, equacao = TRUE, aspecto = "4:3", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
objeto 'tr_models_fit' de 'models/polinomial' ou 'models/nls'. |
observacoes |
na dose-resposta, mostrar também as parcelas (em cinza) atrás das médias. |
equacao |
escrever a equação e o R² no gráfico. |
ggplot.
Regressão polinomial nos tratamentos quantitativos da ANOVA.
tr_models_polinomial( modelo, tratamento = "", grau = "automático", grau_max = 3L, confianca = 0.95 )tr_models_polinomial( modelo, tratamento = "", grau = "automático", grau_max = 3L, confianca = 0.95 )
modelo |
objeto 'tr_models_fit' de uma ANOVA em DIC, DBC ou DQL. |
tratamento |
o fator de doses (os níveis têm de ser números). |
grau |
'"automático"' (o maior componente significativo) ou '"1"' a '"5"', o grau fixado da curva. |
grau_max |
maior grau testado no desdobramento (1 a 5, e menor que o número de níveis); sobe sozinho até o 'grau' fixado. |
confianca |
o nível dos testes dos componentes (e do intervalo dos coeficientes): o grau automático é o maior com p < 1 − confianca. |
lista com 'modelo' (objeto 'tr_models_fit' de classe 'tr_models_dose') e 'quadro' ('tr_models_effects', o desdobramento).
Veio da 'ml/pr_curve' (main) na integração 9.2, com os três modos da 'models/roc': modelo (validação no treino), modelo + dados novos, ou só a tabela com a probabilidade. As contas não mudaram ('.tr_models_pr_pontos', a mesma da 'ml'): um ponto por limiar distinto, empates num degrau; AP = Σ ΔR·P, sem interpolação; 'area' com a interpolação não linear de Davis & Goadrich (2006), integrada em forma fechada (Keilwagen, Grosse & Grau 2014). A referência do acaso é a prevalência da positiva (Saito & Rehmsmeier 2015).
tr_models_pr_curve( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", probabilidade = "", positiva = "", permitir_treino = FALSE, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_pr_curve( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", probabilidade = "", positiva = "", permitir_treino = FALSE, aspecto = "16:9", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
um 'models/fit' de classificação, ou 'NULL' (modo tabela). |
dados |
tabela: sem 'modelo', já com a resposta e o previsto; com 'modelo', a tabela a prever (precisa da resposta do modelo). |
validacao |
só com 'modelo' sem 'dados': '"cruzada"' (cada linha prevista sem ela) ou '"resubstituição"'. |
probabilidade |
só no modo tabela: a coluna da probabilidade da positiva; vazio = 'prob_<positiva>' (ou todas as 'prob_<nivel>' na multiclasse). |
positiva |
classe de interesse. Vazia: no modo tabela, a do nome da coluna 'prob_<classe>' (ou o segundo nível sem coluna); com modelo, o segundo nível. Com três ou mais classes é obrigatória (a curva é ela contra as outras). |
permitir_treino |
com a tabela marcada pelo 'ml/split' (em 'dados'): FALSE (padrão) recusa avaliar linhas do treino ('tr_ml_error_train_eval'); TRUE avalia, avisa e acrescenta a 'nota' de otimismo. Tabela sem a marca é avaliada como chega. |
ggplot; os dados trazem 'limiar', 'recall', 'precision', 'ap', 'area' e 'prevalencia'.
Prevê a resposta de um modelo: em dados novos, ou no próprio treino.
tr_models_predict( modelo, dados = NULL, validacao = "resubstituição", intervalo = "nenhum", confianca = 0.95 )tr_models_predict( modelo, dados = NULL, validacao = "resubstituição", intervalo = "nenhum", confianca = 0.95 )
modelo |
Um 'models/fit'. Não a parcela subdividida — o ajuste dela é uma LISTA de modelos ('aovlist', um por estrato de erro), sem um único 'predict()' que valha; o card diz para usar o misto equivalente. |
dados |
A tabela nova, ou 'NULL': sem ela, prevê as linhas do ajuste, pela 'validacao'. |
validacao |
Só sem 'dados': '"resubstituição"' (o modelo completo prevê as linhas que o ajustaram) ou '"cruzada"' (cada linha prevista por um modelo ajustado sem ela). Com 'dados' é ignorada — uma tabela nova nunca esteve no ajuste, e já é uma previsão honesta. |
intervalo |
'"nenhum"', '"confianca"' (em torno da média prevista) ou '"predicao"' (em torno de uma observação nova, mais largo porque soma a variância do erro) — só em 'models/lm', e sem 'dados' só por resubstituição. O GLM não tem 'interval' em 'predict.glm()' e o misto não tem erro padrão de predição fechado — os dois recusam. |
confianca |
nível do intervalo (o 'level' de 'predict()'); só vale com intervalo diferente de '"nenhum"'. |
'dados' (ou o treino) com 'previsto', 'prob_<nivel>' na classificação, e 'li', 'ls' com intervalo. Colunas com esses nomes que já existiam são SUBSTITUÍDAS: prever a saída de outra previsão não cria 'previsto...2' ao lado da velha.
A cruzada reajusta sem cada linha, partindo dos parâmetros do ajuste completo (que já estão perto); linha cujo reajuste não converge sai NA.
## S3 method for class 'tr_models_nls' tr_models_predict_cv(x, validacao = "resubstituição")## S3 method for class 'tr_models_nls' tr_models_predict_cv(x, validacao = "resubstituição")
Componentes de variância.
tr_models_random_effects(modelo)tr_models_random_effects(modelo)
modelo |
objeto 'tr_models_fit' de um misto (ou de parcela subdividida). |
tibble 'grupo', 'componente', 'variancia', 'desvio_padrao', 'correlacao', 'proporcao'.
Teste dos efeitos aleatórios: cada um sai, e o ajuste piora?
tr_models_random_test(modelo)tr_models_random_test(modelo)
modelo |
objeto 'tr_models_fit' de um misto. |
objeto 'tr_models_effects'.
O quadro da ANOVA, dos coeficientes ou das comparações como tabela, com título, rodapé (CV, média, n) e fonte. É o 'report' do tipo 'models/effects'.
tr_models_report_effects(x)tr_models_report_effects(x)
x |
um quadro de efeitos ('models/effects'). |
objeto 'trama.data::tr_data_report'.
A tabela das médias com erro-padrão, intervalo e as letras, e o ajuste com que as letras foram feitas. É o 'report' do tipo 'models/emm'.
tr_models_report_emm(x)tr_models_report_emm(x)
x |
médias ajustadas ('models/emm'). |
objeto 'trama.data::tr_data_report'.
O resumo que o card mostra: a fórmula, as medidas de ajuste que existem para o modelo (R², CV, AIC…), o teste global quando há um, e o quadro de efeitos — a ANOVA nos delineamentos, os coeficientes no resto. É o 'report' do tipo 'models/fit'.
tr_models_report_fit(x)tr_models_report_fit(x)
x |
um modelo ('models/fit'). |
objeto 'trama.data::tr_data_report'.
A tabela da ANOVA com a curva ao lado: o resíduo é o desvio de cada parcela à curva (bloco e falta de ajuste inclusos), padronizado pelo erro da ANOVA.
## S3 method for class 'tr_models_dose' tr_models_resid(x)## S3 method for class 'tr_models_dose' tr_models_resid(x)
GLS: resíduos normalizados (descontadas a correlação e a variância do modelo).
## S3 method for class 'tr_models_gls' tr_models_resid(x)## S3 method for class 'tr_models_gls' tr_models_resid(x)
No GLM sai também 'residuo_quantilico', o resíduo quantílico normalizado randomizado (Dunn & Smyth 1996): N(0, 1) sob o modelo certo, inclusive com contagens baixas ou resposta 0/1, onde o de desvio fica em faixas. O sorteio usa a semente do nó.
tr_models_residuals(modelo, .seed = 1L)tr_models_residuals(modelo, .seed = 1L)
modelo |
objeto 'tr_models_fit'. |
.seed |
semente do nó (só o resíduo quantílico do GLM sorteia). |
a tabela usada no ajuste com 'ajustado', 'residuo' e 'residuo_padronizado' à direita; no GLM, também 'residuo_quantilico'.
Um nó 'online' só existe DENTRO de uma região ('node.R' recusa 'step' sem entrada de fluxo), e é o 'step' quem o driver chama a cada passo — 'fn' fica de fora do caminho de execução. Existe porque 'tr_node()' o exige sempre (é o nível 1 da API), e os formais espelham os PARAMS um a um, com os MESMOS defaults do spec: é o que "todo param do spec existe no fn com o mesmo default" cobra de cada nó da coleção ('test-catalogo.R'), a mesma garantia que evita spec e fn discordando em silêncio em qualquer outro nó.
tr_models_rls_fn(dados, resposta = "y", preditores = "", lambda = 1e+06)tr_models_rls_fn(dados, resposta = "y", preditores = "", lambda = 1e+06)
Curva ROC: sensibilidade × especificidade em todos os cortes, com a AUC.
tr_models_roc( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", probabilidade = "", positiva = "", confianca = 0.95, permitir_treino = FALSE, aspecto = "1:1", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )tr_models_roc( modelo = NULL, dados = NULL, validacao = "cruzada", resposta = "", probabilidade = "", positiva = "", confianca = 0.95, permitir_treino = FALSE, aspecto = "1:1", tema = "padrão", titulo = "", rotulo_x = "", rotulo_y = "", legenda = "direita" )
modelo |
um 'models/fit' de classificação, ou 'NULL' (modo tabela). |
dados |
tabela: sem 'modelo', já com a resposta e o previsto; com 'modelo', a tabela a prever (precisa da resposta do modelo). |
validacao |
só com 'modelo' sem 'dados': '"cruzada"' (cada linha prevista sem ela) ou '"resubstituição"'. |
probabilidade |
só no modo tabela: a coluna da probabilidade da positiva; vazio = 'prob_<positiva>' (ou todas as 'prob_<nivel>' na multiclasse). |
positiva |
a classe positiva; vazio = o segundo nível (binária) ou uma curva por classe, cada uma contra as outras (três ou mais). |
permitir_treino |
com a tabela marcada pelo 'ml/split' (em 'dados'): FALSE (padrão) recusa avaliar linhas do treino ('tr_ml_error_train_eval'); TRUE avalia, avisa e acrescenta a 'nota' de otimismo. Tabela sem a marca é avaliada como chega. |
ggplot.
Agrupamento de Scott-Knott.
tr_models_scott_knott(modelo, tratamento = "", confianca = 0.95)tr_models_scott_knott(modelo, tratamento = "", confianca = 0.95)
modelo |
objeto 'tr_models_fit' de uma ANOVA. |
tratamento |
fator (ou até 3, para as combinações). |
confianca |
nível de confiança; o Duncan roda a alfa = 1 - confianca. |
objeto 'tr_models_emm'.
'AICc = AIC + 2k(k + 1) / (n - k - 1)' (Hurvich e Tsai, 1989); os pesos de Akaike são 'exp(-delta / 2)' normalizados a soma 1 (Burnham e Anderson, 2002, cap. 2). Com 'n - k - 1 <= 0' o AICc não existe e sai 'NA' (o modelo fica fora do ranking, no fim).
tr_models_select(modelos, criterio = "AICc")tr_models_select(modelos, criterio = "AICc")
modelos |
lista de objetos 'tr_models_fit' (a porta variádica entrega uma lista), com a mesma resposta e o mesmo número de linhas. |
criterio |
'"AICc"', '"AIC"' ou '"BIC"'. |
tibble ordenado do melhor ao pior: 'entrada' (posição na porta), 'modelo', 'formula', 'n', 'k', 'log_verossimilhanca', o critério, 'delta', 'peso', 'peso_acumulado' e 'razao_evidencia' (peso do melhor / peso do modelo).
Shapiro-Wilk numa coluna.
tr_models_shapiro(dados, variavel = "")tr_models_shapiro(dados, variavel = "")
dados |
tabela. |
variavel |
coluna numérica testada. |
objeto 'tr_models_test'.
No GLM o teste vai para os resíduos quantílicos randomizados, com o p mediano de 'sorteios' realizações calibrado por Monte Carlo ('reamostras').
tr_models_shapiro_residuals( modelo, sorteios = 11L, reamostras = 199L, .seed = 1L )tr_models_shapiro_residuals( modelo, sorteios = 11L, reamostras = 199L, .seed = 1L )
modelo |
objeto 'tr_models_fit'. |
sorteios |
GLM: quantos sorteios do resíduo quantílico; o p mediano deles é a estatística. |
reamostras |
GLM: quantas respostas simuladas do ajuste calibram o p mediano. |
.seed |
semente do nó (só o GLM sorteia). |
objeto 'tr_models_test'.
No GLMM não há R² de uso geral (o de Nakagawa pede a variância da distribuição na escala da ligação, que muda com a família e a ligação): as medidas são as de verossimilhança.
## S3 method for class 'tr_models_glmer' tr_models_stats(x)## S3 method for class 'tr_models_glmer' tr_models_stats(x)
GLS: sigma do 'nlme' e gl do resíduo n − p (os dos coeficientes e do quadro).
## S3 method for class 'tr_models_gls' tr_models_stats(x)## S3 method for class 'tr_models_gls' tr_models_stats(x)
R² como 1 − SQres/SQtotal (pseudo: fora do linear ele não é a fração explicada nem fica entre 0 e 1 garantido) e a raiz do erro quadrático médio.
## S3 method for class 'tr_models_nls' tr_models_stats(x)## S3 method for class 'tr_models_nls' tr_models_stats(x)
t de Student / Welch para duas amostras independentes.
tr_models_t_test( dados, resposta = "", grupo = "", variancias_iguais = FALSE, alternativa = "bilateral" )tr_models_t_test( dados, resposta = "", grupo = "", variancias_iguais = FALSE, alternativa = "bilateral" )
dados |
tabela. |
resposta |
coluna numérica. |
grupo |
coluna com os dois grupos. |
variancias_iguais |
TRUE para o t de Student clássico; FALSE (padrão) para o de Welch, que não pressupõe variâncias iguais. |
alternativa |
'"bilateral"', '"menor"' ou '"maior"' (o primeiro grupo em relação ao segundo, na ordem dos níveis). |
objeto 'tr_models_test'.
Métodos de [generics::tidy()], [generics::glance()] e [generics::augment()] para todo objeto do tipo 'models/fit' (inclusive os de outras coleções que cumprem [tr_models_contract]). Os números são os de [tr_models_coefs()], [tr_models_stats()] e [tr_models_resid()]; muda só o nome das colunas.
## S3 method for class 'tr_models_fit' tidy(x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, ...) ## S3 method for class 'tr_models_fit' glance(x, ...) ## S3 method for class 'tr_models_fit' augment(x, newdata = NULL, ...)## S3 method for class 'tr_models_fit' tidy(x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, ...) ## S3 method for class 'tr_models_fit' glance(x, ...) ## S3 method for class 'tr_models_fit' augment(x, newdata = NULL, ...)
x |
um modelo ('inherits(x, "tr_models_fit")'). |
conf.int |
inclui 'conf.low' e 'conf.high'? |
conf.level |
nível do intervalo (0,5 a 0,999). |
exponentiate |
exponencia estimativa e intervalo (razão de chances ou de taxas; só GLM com ligação logit ou log). |
... |
em 'tidy()', repassados a [tr_models_coefs()] ('escala', 'intervalo'); nos outros, ignorados. Com 'conf.int = FALSE' o intervalo ainda é calculado pelo leitor, só não é devolvido. |
newdata |
data.frame com as colunas de 'tr_models_info(x)$preditores'. |
- 'tidy()': 'term', 'estimate', 'std.error', 'statistic', 'p.value' e, com 'conf.int = TRUE', 'conf.low' e 'conf.high'. Colunas extras do modelo ('gl', 'grupo') seguem no fim, com o nome original. - 'glance()': uma linha; 'nobs', 'df.residual', 'r.squared', 'adj.r.squared', 'sigma', 'logLik', 'AIC', 'BIC' no nome do 'broom', e as demais medidas ('cv_pct', 'r2_marginal', ...) com o nome da trama. - 'augment()': sem 'newdata', a tabela do ajuste com '.fitted', '.resid' e '.std.resid' (só regressão, como [tr_models_resid()]). Com 'newdata', '.fitted' na regressão, ou '.pred_class' e '.prob_<nível>' na classificação.
um tibble.
O DBC pressupõe que o efeito do tratamento é o mesmo em todo bloco. O teste de um grau de liberdade acrescenta o quadrado do ajustado ao modelo aditivo: se ele é significativo, os efeitos se multiplicam em vez de somar, e uma transformação (log, quase sempre) costuma resolver.
tr_models_tukey_additivity(modelo)tr_models_tukey_additivity(modelo)
modelo |
objeto 'tr_models_fit' de um delineamento com bloco (DBC, fatorial em DBC ou DQL). |
objeto 'tr_models_test'.
tr_models_waller_duncan(modelo, tratamento = "", k = 100L)tr_models_waller_duncan(modelo, tratamento = "", k = 100L)
modelo |
objeto 'tr_models_fit' de uma ANOVA. |
tratamento |
fator (ou até 3, para as combinações). |
k |
razão de custos dos erros tipo I e II: 100 (~5 |
objeto 'tr_models_emm'.
Teste de Waller-Duncan (razão K).
Wilcoxon-Mann-Whitney para duas amostras independentes.
tr_models_wilcoxon(dados, resposta = "", grupo = "", alternativa = "bilateral")tr_models_wilcoxon(dados, resposta = "", grupo = "", alternativa = "bilateral")
dados |
tabela. |
resposta |
coluna numérica. |
grupo |
coluna com os dois grupos. |
alternativa |
'"bilateral"', '"menor"' ou '"maior"' (o primeiro grupo em relação ao segundo, na ordem dos níveis). |
objeto 'tr_models_test'.
Carrega DEPOIS de 'trama.data' e 'trama.view': as portas usam 'data/table' e 'view/plot', e o registro recusa porta com tipo desconhecido.
trama_collection()trama_collection()
Os ids de categoria têm prefixo ('modelo_*') porque o registro de categorias é GLOBAL: uma categoria 'testes' aqui sobrescreveria em silêncio a de outra coleção que usasse o mesmo id.