function quan=o_post_pred(data,k,sample)
n=size(data,1);
p=size(data,2);
y=data(:,1); x=data(:,2:p);
m=size(sample,1);
L=size(sample,2);
g=sample(:,1:(k-2)); b=sample(:,(k-1):L);
q=zeros(m,k-1);
quan=zeros(n,2);
for i=1:n
lp=(x(i,:)*b')';
q(:,1)=Phi(-lp);
for j=2:(k-1)
q(:,j)=Phi(g(:,j-1)-lp);
end
u=rand(m,1);
ys=ones(m,1);
for j=1:(k-1);
ys=ys+(u>q(:,j));
end
resid=sort(y(i)-ys);
quan(i,:)=resid([m/4 3*m/4])';
end
figure
plot([1 1],quan(1,:))
hold on
for i=2:198,plot([i i],quan(i,:)),end
xlabel('observation number')
ylabel('posterior predictive residual')
hold off
function y = Phi(x)
% Phi computes the standard normal distribution function value at x
%
y = .5*(1+erf(x/sqrt(2)));