Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² порядок

library(xlsx)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
oils <- read.xlsx("oils_NMR.xlsx", sheetIndex = 1, encoding = "UTF-8")
sulphur <- read.xlsx("oils_NMR.xlsx", sheetIndex = 2, encoding = "UTF-8")
sulphur <- sulphur[1:16, 1:2]
oils <- merge(oils, sulphur, all.x = TRUE)
oils$well <- as.character(oils$well)
oils$key <- paste(oils$no, oils$well, sep = "_")
oils_reshape <- reshape(oils, idvar = "key", varying = list(c(4:20)), direction = "long", v.names = "solid_fraction")
att <- attributes(oils_reshape)
oils_reshape$temp <- att$reshapeLong$varying[[1]][oils_reshape$time]
oils_reshape <- select(oils_reshape, -no, -key, -time)
rownames(oils_reshape) <- NULL

tmp <- data.frame(temp = unique(oils_reshape$temp), temperature = c(-28, -20, -10, 0, 10, 15, 18, 20, 22, 30, 35, 40, 50, 60, 70, 75, 80))
oils_reshape <- merge(oils_reshape, tmp)
oils_reshape <- select(oils_reshape, - temp)
oils_reshape <- oils_reshape[!is.na(oils_reshape$temp_start), ]
oils_reshape <- oils_reshape %>%
  group_by(well, temperature) %>%
  mutate(avg_solid_fraction = mean(solid_fraction, na.rm = TRUE), 
         n_observation = n(), 
         sd_solid_fraction = sd(solid_fraction, na.rm = TRUE),
         standard_error = sd_solid_fraction/sqrt(n_observation),
         upper_conf = avg_solid_fraction + qt(0.95, n_observation - 1)*standard_error,
         lower_conf = avg_solid_fraction + qt(0.05, n_observation - 1)*standard_error,
         t_experimmet = (abs(solid_fraction - avg_solid_fraction)/sd_solid_fraction),
         t_distr = qt(0.95, n_observation - 1),
         is_valid = ifelse(t_distr > t_experimmet, "Valid", "Wrong"))
oils_reshape <- oils_reshape[!is.na(oils_reshape$well), ]

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² порядок Π±Ρ‹Π»ΠΈ посчитаны основныС статистичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π²ΠΎΠΈΡ… экспСримСнтов. Π”Π°Π»Π΅Π΅ просто ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

kable(oils_reshape[1:10, ]) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
well temp_start sulphur_content solid_fraction temperature avg_solid_fraction n_observation sd_solid_fraction standard_error upper_conf lower_conf t_experimmet t_distr is_valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.23 35 0.9355 14.56 -10 14.7650 4 0.1791647 0.0895824 14.97582 14.55418 1.1441984 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.23 35 0.9355 14.96 -10 14.7650 4 0.1791647 0.0895824 14.97582 14.55418 1.0883839 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.23 35 0.9355 14.68 -10 14.7650 4 0.1791647 0.0895824 14.97582 14.55418 0.4744237 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.23 35 0.9355 14.86 -10 14.7650 4 0.1791647 0.0895824 14.97582 14.55418 0.5302383 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.6 36 0.8795 14.81 -10 14.8525 4 0.1059481 0.0529741 14.97717 14.72783 0.4011398 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.6 36 0.8795 14.99 -10 14.8525 4 0.1059481 0.0529741 14.97717 14.72783 1.2978052 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.6 36 0.8795 14.74 -10 14.8525 4 0.1059481 0.0529741 14.97717 14.72783 1.0618407 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.6 36 0.8795 14.87 -10 14.8525 4 0.1059481 0.0529741 14.97717 14.72783 0.1651752 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.7 35 0.8985 16.06 -10 16.1300 4 0.1630951 0.0815475 16.32191 15.93809 0.4291975 2.353363 Valid
Π‘ΠΈΡ‚ΠΊΡ–Π²-Π‘Π°Π±Ρ‡Π΅Π½ΡΡŒΠΊΠ΅ св.7 35 0.8985 16.21 -10 16.1300 4 0.1630951 0.0815475 16.32191 15.93809 0.4905115 2.353363 Valid

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π²ΠΎΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ тСбя Π±Ρ‹Π»ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

Π”Π°Π»Π΅Π΅ ΠΎΡ‚ Π½Π΅Ρ„ΠΈΠ³ Π΄Π΅Π»Π°Ρ‚ΡŒ я построил Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²

g <- ggplot(oils_reshape, aes(temperature, avg_solid_fraction))
g + geom_line(aes(col = well)) + facet_wrap(.~well) + geom_errorbar(aes(ymax = upper_conf, ymin = lower_conf))
## Warning: Removed 499 rows containing missing values (geom_path).
## Warning: Removed 635 rows containing missing values (geom_errorbar).

Π‘Ρ€Π°Π·Ρƒ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΡƒΠ³Π»Ρ‹ Π½Π°ΠΊΠ»ΠΎΠ½Π° ( Π° Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠ°), Ρ‡Ρ‚ΠΎ, вСроятно, связано с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ составом Ρ‚Π²ΠΎΠΈΡ… АБПО. Π”ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ссли Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ‰Π΅ повозится с этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ скорости осаТдСния, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько Π³Ρ€ΡƒΠΏΠΏ Π½Π΅Ρ„Ρ‚Π΅ΠΉ с ΠΏΠΎΡ…ΠΎΡ€ΠΆΠΈΠΌΠΈ свойствами АБПО. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, количСство сСры ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ влияСт Π½Π° всю эту Ρ„ΠΈΠ³Π½ΡŽ. По Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ, для Π³Ρ€ΡƒΠΏΠΏ Π½Π΅Ρ„Ρ‚Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… мСстороТдСний. Но это Π½ΡƒΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ссли Π·Π°ΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ скваТин Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ гСографичСски Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π΅Ρ„Ρ‚Π΅ΠΉ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ссли Ρ‚Ρ‹ знаСшь Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Ρ‹, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠ°Π·Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Ρ‚Π°ΠΊΠΎΠΌ мСстороТдСнии Π½Π° Ρ‚Π°ΠΊΠΎΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π΅ АБПО с Ρ‚Π°ΠΊΠΈΠΌΠΈ свойствами, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ½Π΅, Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΡ‡Π΅Π½ΡŒ красиво, особСнно Ссли Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.