-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathanalysis.R
More file actions
54 lines (39 loc) · 1.26 KB
/
analysis.R
File metadata and controls
54 lines (39 loc) · 1.26 KB
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
library(rpart.plot)
library(rattle)
library(RColorBrewer)
classify_dataset <- read.csv("classify_dataset.csv")
sum(is.na(classify_dataset))
summary(classify_dataset)
# remove na data:
dataset <- classify_dataset[complete.cases(classify_dataset), ]
## classification tree
library(rpart)
fittree <- rpart(activity ~ heart_rate + steps + skin_temp + gsr, data = dataset, method = "class")
prp(fittree)
train_set <- dataset[ ,c("heart_rate", "steps", "skin_temp", "gsr")]
prediction <- predict(fittree, train_set, type = "class")
table(prediction, dataset$activity)
# logistic regression
dataset$sleep <- 0
dataset$inactive <- 0
dataset$light_activity <- 0
dataset$moderate_activity <- 0
dataset$activity <- as.character(dataset$activity)
for (i in 1:nrow(dataset)){
cur_str <- dataset$activity[i]
if (cur_str == "sleep"){
dataset$sleep[i] <- 1
}
if (cur_str == "inactive"){
dataset$inactive[i] <- 1
}
if (cur_str == "light_activity"){
dataset$light_activity[i] <- 1
}
if (cur_str == "moderate_activity"){
dataset$moderate_activity[i] <- 1
}
}
fitregression <- glm(activity ~ heart_rate + steps + skin_temp + gsr, data = dataset, family = "binomial")
summary(fitregression)
regr_prediction <- predict(fitregression, train_set, type = "terms")