-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbirge-sponer.R
74 lines (62 loc) · 2.44 KB
/
birge-sponer.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
## Creating Birge-Sponer plot from <filename>
filename <- "highT-processed-peaks-with-vqn-45_5C.csv"
procData <- read.csv(filename, header = TRUE)
head(procData)
names(procData)[3] <- "v'"
head(procData)
## Make sure to include functions defined in data-analysis-functions.R
#### BEGIN: Birge-Sponer ####
birgeSponerData <- birgeSponer(procData)
head(birgeSponerData)
tail(birgeSponerData)
birgeSponerModel <- lm(`deltaNu` ~ `v' + 1`, birgeSponerData)
summary(birgeSponerModel)
## Simple R plots
plot(`deltaNu`~`v' + 1`, birgeSponerData)
abline(coefficients(birgeSponerModel), lty = "dashed")
## Quantile-Quantile plot
lattice::qqmath( ~ resid(birgeSponerModel),
xlab = "Theoretical Quantiles",
ylab = "Residuals"
)
## ggplot
require(ggplot2)
require(polynom)
my.eq <- as.character(signif(as.polynomial(coef(birgeSponerModel)), 6))
label.text <- paste(paste("italic(y) == "), gsub("x", "~italic(x)", my.eq, fixed = TRUE))
ggplot(data = birgeSponerData, mapping = aes(x = `v' + 1`, y = `deltaNu`)) +
geom_point(shape = 1) + ## Use hollow circles
geom_smooth(method = 'lm', se = FALSE, linetype = "dashed") +
annotate("text", x = 30, y = 87,
label = label.text,
parse=TRUE) +
theme_bw()
#### Export Birge-Sponer coefficients and input filename + hash ####
require(digest)
coefficientsFilename = "birge-sponer-coefficients.csv"
birgeSponCoef <- read.csv(coefficientsFilename, header = TRUE, stringsAsFactors = FALSE)
birgeSponCoef <- rbind(birgeSponCoef,
c(
inputDataFilename = filename,
inputSHA1 = digest(file = filename, algo = "sha1"),
intercept = coef(birgeSponerModel)[1],
interceptErr = coef(summary(birgeSponerModel))[1,2],
firstOrderCoef = coef(birgeSponerModel)[2],
firstOrderCoefErr = coef(summary(birgeSponerModel))[2,2],
rSquared = summary(birgeSponerModel)$r.squared
)
)
head(birgeSponCoef,10)
write.csv(birgeSponCoef, coefficientsFilename, row.names = FALSE)
## Create the first entry and save the file (THIS SHOULD ONLY BE DONE ONCE)
birgeSponCoef <- data.frame(
inputDataFilename = filename,
inputSHA1 = digest(file = filename, algo = "sha1"),
intercept = coef(birgeSponerModel)[1],
interceptErr = coef(summary(birgeSponerModel))[1,2],
firstOrderCoef = coef(birgeSponerModel)[2],
firstOrderCoefErr = coef(summary(birgeSponerModel))[2,2],
rSquared = summary(birgeSponerModel)$r.squared
)
head(birgeSponCoef)
write.csv(birgeSponCoef, coefficientsFilename, row.names = FALSE)