rpy2
import rpy2
import matplotlib.pyplot as plt
import numpy as np
-
간단한 예제:
- 데이터: 신호 + 잡음의 형태,
- 데이터의 특징: 신호는 절대값이 잡음에 비하여 상대적으로 크다.
- 우리가 하고 싶은 것: 신호만 뽑아내는것!
%load_ext rpy2.ipython
%%R
library(EbayesThresh)
set.seed(1)
x <- rnorm(1000) + sample(c( runif(25,-7,7), rep(0,975)))
plot(x,type='l')
mu <- EbayesThresh::ebayesthresh(x)
lines(mu,col=2,lty=2,lwd=2)
-
R환경에 있던 x를 가지고 오기
%R -o x
plt.plot(x)
-
R환경에 있는 ebayesthresh 함수를 가지고 오기
import rpy2.robjects as ro
from rpy2.robjects.vectors import FloatVector
from rpy2.robjects.packages import importr
ebayesthresh = importr('EbayesThresh').ebayesthresh
xhat = np.array(ebayesthresh(FloatVector(x)))
plt.plot(x)
plt.plot(xhat)