MATLAB Answers

laurie
0

How to compare two proportions ?

Asked by laurie
on 19 Mar 2014
Latest activity Answered by laurie
on 20 Mar 2014
I have a vector of x1=[0 1 1 0 1 0 ... 1 0 1] and a cell array of string x2={'Condition A' 'Condition A' 'Condition B'..... 'Condition A' 'Condition B' 'Condition B' 'Condition A}.
How can I test if the proportion of "1" is different in Condition A versus Condition B ?
I tried using crosstab() but I am unsure how to set up the data. It looks like crosstab(x1,x2) expects x1 and x2 to be grouping variables. The x1 I have is a response variable.
How should i set up my data for crosstab? Is there another function which would take counts or a binary response variable? Maybe an equivalent of the R function prop.test() ?

  0 Comments

Sign in to comment.

2 Answers

Answer by laurie
on 20 Mar 2014
 Accepted Answer

Since I could not find a build-in function for my purpose I ended up writing this little function: http://www.mathworks.com/matlabcentral/fileexchange/45966-compare-two-proportions-chi-square

  0 Comments

Sign in to comment.


dpb
Answer by dpb
on 19 Mar 2014

Start by simply converting the ASCII to another logical array of 0/1...
xA=ismember(x2,'Condition A'); % swap 'B' for 'A' if sense is other way in x1; you don't say
then compute the estimated p for the two populations as
p=[sum(x1) sum(xA)]/length(x1); % assuming same length; if not use each length of course
To test the null hypothesis the two are the same, see--
for method. Not positive if Matlab has a builtin test or not but it's surely not complicated.

  0 Comments

Sign in to comment.