First Let’s Data Importation

data = read.csv("karpur.csv",header=TRUE)

plotting:

plot(data$phi.N,data$phi.core.frac)

model1 = lm(phi.core~phi.N+Facies-1,data=data)
summary(model1)
## 
## Call:
## lm(formula = phi.core ~ phi.N + Facies - 1, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.3530  -1.1573  -0.0206   1.0463  10.2852 
## 
## Coefficients:
##           Estimate Std. Error t value Pr(>|t|)    
## phi.N       1.3364     1.8060    0.74     0.46    
## FaciesF1   31.4805     0.2777  113.37   <2e-16 ***
## FaciesF10  20.7680     0.5072   40.95   <2e-16 ***
## FaciesF2   17.5233     0.9390   18.66   <2e-16 ***
## FaciesF3   23.1939     0.4955   46.81   <2e-16 ***
## FaciesF5   27.2953     0.3914   69.74   <2e-16 ***
## FaciesF7   22.5164     0.8730   25.79   <2e-16 ***
## FaciesF8   30.5884     0.5019   60.94   <2e-16 ***
## FaciesF9   26.4448     0.4825   54.81   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.326 on 810 degrees of freedom
## Multiple R-squared:  0.9928, Adjusted R-squared:  0.9928 
## F-statistic: 1.246e+04 on 9 and 810 DF,  p-value: < 2.2e-16

Corrected Porosity

corrected_porosity.<-predict(model1,data)

Permeability Model Development

permeabilty_model<-lm(data$k.core~corrected_porosity.+Facies-1,data=data)
summary(permeabilty_model)
## 
## Call:
## lm(formula = data$k.core ~ corrected_porosity. + Facies - 1, 
##     data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5613.4  -596.9  -130.3   475.0 10449.1 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## corrected_porosity.  -4123.5      898.1  -4.591 5.11e-06 ***
## FaciesF1            132659.2    28386.2   4.673 3.47e-06 ***
## FaciesF10            87869.2    18968.5   4.632 4.21e-06 ***
## FaciesF2             73979.5    16049.0   4.610 4.69e-06 ***
## FaciesF3             97909.7    21087.4   4.643 4.00e-06 ***
## FaciesF5            118915.8    24729.2   4.809 1.81e-06 ***
## FaciesF7             95868.0    20496.1   4.677 3.40e-06 ***
## FaciesF8            130990.3    27786.3   4.714 2.86e-06 ***
## FaciesF9            111323.9    24049.6   4.629 4.28e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1546 on 810 degrees of freedom
## Multiple R-squared:  0.7652, Adjusted R-squared:  0.7626 
## F-statistic: 293.2 on 9 and 810 DF,  p-value: < 2.2e-16

Corrected Permeability Calculation

corrected_permeabilty.<-predict(permeabilty_model,data)

Set up the plotting area to include 1 row and 5 columns for multiple plots, plot core porosity, corrected core porosity, core permeability, corrected core permeability and facies, all versus depth

par(mfrow=(c(1,5)))
summary(data$depth)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    5667    5769    5872    5873    5977    6083
plot(data$phi.core,data$depth,ylim=rev(c(5667,6083)),xlim=c(0.1570,0.3630),type="l", col = 'red', lwd=2,xlab="core porosity",ylab="depth m")
summary(corrected_porosity.)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.75   23.45   26.82   26.93   30.94   32.03
plot(corrected_porosity.,data$depth,ylim=rev(c(5667,6083)),xlim=c(0.1775,0.3203),type="l", col = 'blue',lwd=2,xlab="corrected core porosity",ylab="depth m")
summary(data$k.core)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     0.42   657.33  1591.22  2251.91  3046.82 15600.00
plot(data$k.core,data$depth,ylim=rev(c(5667,6083)),xlim=c(0.42,15600.00),type="l", col = 'green',lwd=2,xlab="core permeability",ylab="depth m")

Facies Analysis

boxplot(depth~Facies,data=data,ylim =rev(c(5667,6083)))