与R中的Repmat类似的功能

时间:2015-09-15 13:50:43

标签: r matlab

我想在R中复制repmat函数。这是matlab代码:

function prob = poissonMixturePdf(scores,lambda,mu,p)

prob = zeros(size(scores));

% pre-compute X, Y, Z probabilities

xs = 0 : floor(max(scores)/5);
px = stats.poissonpdf(xs,lambda);

ys = 0 : floor(max(scores)/3);
py = stats.poissonpdf(ys,mu);

zs = 0 : floor(max(xs));
pz = binopdf(repmat(xs,length(zs),1),repmat(zs',1,length(xs)),p);

这是我的R代码:

prob<-rep(0,scores)


xs<-0:floor(max(scores)/5)
px<-dpois(xs,lambda)

ys<-0:floor(max(scores)/3)
py<-dpois(ys,mu) 

zs<-0:floor(max(xs))
pz<- dbinom(matrix(rep(xs,times=1),nrow=length(zs)),matrix(rep(t(zs),times=length(xs)),1),p)

最后一行是否正确?我没有Matlab,只是一个脚本。

1 个答案:

答案 0 :(得分:0)

以R为底的Matlab repmat(a,2,3)的等效项是kronecker(matrix(1,2,3),a)

在R软件包matlabpracma中,R函数repmat的用法与Matlab相同。您可以根据需要查看其源代码。

能解决您的问题吗?