I have the following data from a Research paper:

```
S1 : n = 30 / Rest : n = 66

SH      11  /      8

```

For this to calculate p-value I have done it like following:

```
library(MASS)
x = matrix(c(19,11,58,8), nrow=2, byrow=T)
D = factor(c("S1","SH"), levels=c("S1","SH"))
m = glm(x~D, family=binomial)
summary(m)

Call:
glm(formula = x ~ D, family = binomial)

Deviance Residuals: 
[1]  0  0

Coefficients:
        Estimate Std. Error z value Pr(>|z|)   
(Intercept)   0.5465     0.3789   1.443  0.14914   
DSH           1.4345     0.5346   2.683  0.00729 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance:  7.3387e+00  on 1  degrees of freedom
Residual deviance: -8.8818e-16  on 0  degrees of freedom
AIC: 11.607

Number of Fisher Scoring iterations: 3

```

The p-value is 0.007. This is same as I saw in the research paper. And the Odds Ratio is given as 4.20 and 95% CI is (1.47-11.97)

I would like to know how to calculate Odds Ratio and 95% Confidence interval for this? Can anyone please tell me how can I calculate this in R? Are there any functions?