Bir pandalar veri çerçevesi kullanarak doğrusal regresyon yapmak için önerilen yol (varsa) nedir? Yapabilirim, ama yöntemim çok ayrıntılı görünüyor. İşleri gereksiz yere karmaşıklaştırıyor muyum?pandalar veri çerçevesini kullanarak rpy2 regresyonunun en az örneği
Şimdix <- c(1,2,3,4,5)
y <- c(2,1,3,5,4)
M <- lm(y~x)
summary(M)$coefficients
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.6 1.1489125 0.522233 0.6376181
x 0.8 0.3464102 2.309401 0.1040880
, benim piton (2.7.10), rpy2 (2.6.0) ve pandalar (0.16.1) sürümü:
import pandas
import pandas.rpy.common as common
from rpy2 import robjects
from rpy2.robjects.packages import importr
base = importr('base')
stats = importr('stats')
dataframe = pandas.DataFrame({'x': [1,2,3,4,5],
'y': [2,1,3,5,4]})
robjects.globalenv['dataframe']\
= common.convert_to_r_dataframe(dataframe)
M = stats.lm('y~x', data=base.as_symbol('dataframe'))
print(base.summary(M).rx2('coefficients'))
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.6 1.1489125 0.522233 0.6376181
x 0.8 0.3464102 2.309401 0.1040880
karşılaştırma için
R kodu,
Bu arada, pandas.rpy.common
ithalatında bir FutureWarning alıyorum. Ancak, (here belirtildiği gibi) R pandalar bir dataframe dönüştürmek için pandas2ri.py2ri(dataframe)
çalıştığında, I
NotImplementedError: Conversion 'py2ri' not defined for objects of type '<class 'pandas.core.series.Series'>'
kullandığınız rpy2' 'sürümü nedir? – joris
Bu bilgiyi eklemek için sorumu güncelledim. – mjandrews
Dataframe dönüşümüyle benzer sorunlar yaşadım ancak rpy2 olmayan işlevleri kullanmam gerekiyordu. “Pandas2ri.py2ri (dataframe)' – shibumi