-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClass 11.R
133 lines (87 loc) · 3.35 KB
/
Class 11.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
## -----------------------------------------------------------------------------
library(readxl)
## -----------------------------------------------------------------------------
# .xsl read_xls()
# .xlsx read_xlsx()
# read_excel()
death <- read_xls("deaths.xls", sheet = "arts")
death2 <- read_xls("deaths.xls", sheet = "arts",
skip = 4)
death2 <- death2[1:10, ]
death3 <- read_xls("deaths.xls", sheet = "arts",
range = "A5:F15")
head(death3)
death4 <- read_excel("deaths.xls", sheet = "arts")
death5 <- read_excel("deaths.xls", sheet = "arts",
skip = 4)
death6 <- death2[1:10, ]
death7 <- read_excel("deaths.xls", sheet = "arts",
range = "A5:F15")
head(death7)
death8 <- read_excel("/Users/mdranamahmud/Documents/GitHub/r-programming-bangla-basic/deaths.xls", sheet = "arts",
range = "A5:F15")
head(death8)
## -----------------------------------------------------------------------------
logit_data <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
# download.file("https://stats.idre.ucla.edu/stat/data/binary.csv","binary.csv")
head(logit_data)
## -----------------------------------------------------------------------------
summary(logit_data)
# fit model
fit_logit <- glm(admit ~ gre + gpa + rank, data = logit_data, family = "binomial")
summary(fit_logit)
table(logit_data$rank)
# categorical varaible convert to categorical
logit_data$rank <- as.factor(logit_data$rank)
class(logit_data$rank)
unique(logit_data$admit)
levels(logit_data$rank)
fit_logit2 <- glm(admit ~ gre + gpa + rank, data = logit_data, family = "binomial")
summary(fit_logit2)
## -----------------------------------------------------------------------------
# confidence interval
confint(fit_logit2)
confint(fit_logit2, level = 0.90)
# model coefficient
coef(fit_logit2)
vcov(fit_logit2)
# overall effect or rank
library(aod)
wald.test(b = coef(fit_logit2), Sigma = vcov(fit_logit2), Terms = c(4,5,6))
## -----------------------------------------------------------------------------
# odds ratio
exp(coef(fit_logit2))
# chance of getting admission increas by a factor of 2.23 for every unit increase of gpa
# predict
predicted_value <- predict(fit_logit2, type="response")
library(caret)
predict_cat <- ifelse(predicted_value>0.5, 1, 0)
table(predict_cat)
table(logit_data$admit)
table(as.factor(predict_cat), as.factor(logit_data$admit))
confusionMatrix(as.factor(predict_cat), as.factor(logit_data$admit))
## -----------------------------------------------------------------------------
data("PlantGrowth")
table(PlantGrowth$group)
levels(PlantGrowth$group)
boxplot(weight ~ group, data = PlantGrowth)
# one way anova
# aov()
one_anova <- aov(weight ~ group, data = PlantGrowth)
summary(one_anova)
# post hoc analysis
TukeyHSD(one_anova)
# homogeneity of varaiance
# residuals versus fit plot
plot(one_anova, 1)
# levenestest for homogeneity test
library(car)
leveneTest(weight ~ group, data = PlantGrowth)
## -----------------------------------------------------------------------------
# normality
plot(one_anova, 2)
shapiro.test(residuals(one_anova))
## -----------------------------------------------------------------------------
kruskal.test(weight ~ group,data = PlantGrowth)