# set working directory
setwd("D:/Dr.Ashok")
#import data
dat = read.csv("reg_data.csv")
dat
## Laser Skin Bone
## 1 0.418 4.636 0.486
## 2 0.693 1.990 0.124
## 3 0.783 1.590 1.250
## 4 0.757 1.763 0.663
## 5 0.519 1.065 1.614
## 6 0.412 3.676 1.237
## 7 0.620 1.373 1.210
## 8 0.390 4.636 1.034
## 9 0.343 1.294 0.998
## 10 0.466 2.120 0.511
## 11 0.401 1.210 0.385
## 12 0.571 1.540 1.068
## 13 0.357 1.096 0.702
## 14 0.514 2.333 1.544
## 15 0.545 1.640 1.366
## 16 0.610 1.550 1.242
## 17 0.406 2.255 1.485
## 18 0.546 1.370 0.853
## 19 0.689 1.655 1.090
## 20 0.380 1.311 1.235
## 21 0.555 1.235 1.351
## 22 0.523 1.504 1.136
## 23 0.551 0.873 NA
## 24 0.656 0.986 NA
## 25 0.723 1.361 NA
## 26 0.477 1.984 NA
## 27 0.658 1.255 NA
## 28 0.344 0.896 NA
## 29 0.412 0.735 NA
## 30 0.475 1.536 NA
## 31 0.609 NA NA
## 32 0.604 NA NA
## 33 0.391 NA NA
## 34 0.564 NA NA
## 35 0.679 NA NA
## 36 0.504 NA NA
## 37 0.718 NA NA
## 38 0.622 NA NA
## 39 0.430 NA NA
## 40 0.474 NA NA
## 41 0.340 NA NA
## 42 0.974 NA NA
## 43 0.632 NA NA
## 44 0.667 NA NA
## 45 0.439 NA NA
## 46 0.466 NA NA
## 47 0.438 NA NA
## 48 0.861 NA NA
## 49 0.528 NA NA
## 50 0.519 NA NA
## 51 0.388 NA NA
## 52 0.537 NA NA
## 53 0.412 NA NA
## 54 0.397 NA NA
## 55 0.402 NA NA
## 56 0.507 NA NA
## 57 0.425 NA NA
## 58 0.431 NA NA
## 59 0.407 NA NA
## 60 0.582 NA NA
## 61 0.330 NA NA
## 62 0.417 NA NA
## 63 0.468 NA NA
## 64 0.392 NA NA
## 65 0.366 NA NA
## 66 0.377 NA NA
## 67 0.456 NA NA
## 68 0.392 NA NA
## 69 0.528 NA NA
## 70 0.403 NA NA
## 71 0.620 NA NA
## 72 0.418 NA NA
## 73 0.700 NA NA
## 74 0.431 NA NA
## 75 0.374 NA NA
## 76 0.386 NA NA
## 77 0.499 NA NA
## 78 0.524 NA NA
## 79 0.835 NA NA
## 80 0.583 NA NA
## 81 0.419 NA NA
## 82 0.454 NA NA
## 83 0.517 NA NA
## 84 0.537 NA NA
## 85 0.566 NA NA
## 86 0.482 NA NA
## 87 0.781 NA NA
## 88 0.529 NA NA
## 89 1.023 NA NA
## 90 0.613 NA NA
## 91 0.401 NA NA
## 92 0.522 NA NA
## 93 0.384 NA NA
## 94 0.436 NA NA
## 95 0.451 NA NA
## 96 0.707 NA NA
## 97 0.384 NA NA
## 98 0.402 NA NA
## 99 0.661 NA NA
## 100 0.416 NA NA
## 101 0.384 NA NA
## 102 0.548 NA NA
## 103 0.419 NA NA
## 104 0.568 NA NA
## 105 0.358 NA NA
## 106 0.467 NA NA
## 107 0.496 NA NA
## 108 0.441 NA NA
## 109 0.585 NA NA
## 110 0.620 NA NA
## 111 0.455 NA NA
## 112 0.700 NA NA
## 113 0.351 NA NA
## 114 0.550 NA NA
## 115 0.767 NA NA
## 116 0.605 NA NA
## 117 0.674 NA NA
## 118 0.359 NA NA
## 119 0.604 NA NA
## 120 0.527 NA NA
## 121 0.488 NA NA
## 122 0.581 NA NA
## 123 0.681 NA NA
## 124 0.500 NA NA
## 125 0.788 NA NA
## 126 0.532 NA NA
## 127 0.598 NA NA
## 128 0.428 NA NA
## 129 0.639 NA NA
## 130 0.414 NA NA
## 131 0.313 NA NA
## 132 0.466 NA NA
head(dat)
## Laser Skin Bone
## 1 0.418 4.636 0.486
## 2 0.693 1.990 0.124
## 3 0.783 1.590 1.250
## 4 0.757 1.763 0.663
## 5 0.519 1.065 1.614
## 6 0.412 3.676 1.237
dim(dat)
## [1] 132 3
# for a simple boxplot we can do the following.
library(rafalib)
mypar(1,2)
meanL = mean(dat[,"Laser"], na.rm = TRUE)
meanS = mean(dat[,"Skin"], na.rm = TRUE)
meanB = mean(dat[,"Bone"], na.rm = TRUE)
boxplot(dat)
means = c(meanL,meanS,meanB)
boxplot(dat, col = "lightgrey", names = c("Laser", "Skin", "Bone"),
ylab="Reg,Accuracy", xlab = "Procedure", main="Distribution")
points(means, col="blue", pch=16)
#ggplot functions and summarySE Rmisc arguement for better layout
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.2

library(plyr)
## Warning: package 'plyr' was built under R version 3.3.1
library(Rmisc)
## Warning: package 'Rmisc' was built under R version 3.3.2
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 3.3.3
#split the data in to components
Laser = dat[,1]
Skin = dat[,2]
Bone = dat[,3]
# to make a data matrix, rows names are made
tt = rep((c("1","2","3")), times = c(132,30,22))
# values of the row is laid out from the original data.
val = c(Laser,Skin,Bone)
val = na.omit(val)
#in order to omit "NA"
df = data.frame(tt, val)
#data frame is made.
dfc = summarySE(df, measurevar = "val", groupvars = "tt")
#statistical summary in one go.
# in order to overlay jitterplot and boxplot in ggplot2 argument
g <- ggplot(df, aes(x = tt, y = val)) +
geom_boxplot(aes(tt,val), na.rm = TRUE, color = "lightgrey", width = 0.5) +
geom_jitter(aes(tt, val), data = df, colour = I("blue"),
position = position_jitter(width = 0.05), size = 2, pch = 16) +
scale_y_discrete(name = "Registration Accuracy (mm)" , limits=c("1","2","3","4")) +
scale_x_discrete(name = "", labels = c("Laser", "Skin", "Bone") ) +
geom_crossbar(data=dfc, aes(x=tt, ymin=val, ymax=val,y=val,group=tt), width = 0.20)
g
