1
resposta

Python vs Rstudio

Bom dia estou fazendo um trabalho para a faculdade e me daparei com um problema de resultado do R e do python

Codigo R resposta = 0.4560858

n <- 19
r <- -0.1819
Tt <- r*sqrt((n-2)/(1-r^2))
p_value <- 2*pt(-abs(Tt),n-2)
print(p_value)

Codigo Python resposta 0.22804290453527704

n = 19
r = -0.1819
import numpy as np
from scipy.stats import t as t_student
Tt = r * np.sqrt(( n - 2) / (1 - (r ** 2)))
t_student.cdf(Tt, n - 2)

A resposta deveria ser a mesma não?

1 resposta

Olá Pedro, tudo bem? Espero que sim!

O valor encontrado pelo seu código em R é exatamente o dobro do valor encontrado usando o código em Python.

0.4560858 = 2 * 0.22804290453527704

Isso ocorreu porque você fez 2*pt(-abs(Tt),n-2) no código em R, enquanto no python utilizou um método t_student.

Considere qual dos valores é o correto dependendo do problema que está querendo resolver e aplique o mesmo procedimento nas duas linguagens.

Bons estudos!