How to compare two proportions ?

17 次查看(过去 30 天)
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() ?

采纳的回答

laurie
laurie 2014-3-20
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

更多回答(1 个)

dpb
dpb 2014-3-19
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.

类别

Help CenterFile Exchange 中查找有关 Hypothesis Tests 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by