20160824.cnv 파일 분석..

[Data Structure]

str(data1)
'data.frame':   69492 obs. of  12 variables:
 $ j2dt     : POSIXct, format: "2016-08-24 08:20:27" "2016-08-24 08:20:36" "2016-08-24 08:20:46" "2016-08-24 08:20:57" ...
 $ lat      : num  34.9 34.9 34.9 34.9 34.9 ...
 $ long     : num  129 129 129 129 129 ...
 $ pressure : int  0 0 0 0 0 0 0 0 0 0 ...
 $ temp     : num  28.7 28.7 28.7 28.7 28.7 ...
 $ salinity : num  28.3 28.4 28.4 28.4 28.4 ...
 $ density1 : num  17.2 17.2 17.2 17.2 17.2 ...
 $ density2 : num  17.2 17.2 17.2 17.2 17.2 ...
 $ soundv   : num  1536 1536 1536 1536 1536 ...
 $ flag     : num  0 0 0 0 0 0 0 0 0 0 ...
 $ temp_flag: logi  NA NA NA NA NA NA ...
 $ sal_flag : logi  NA NA NA NA NA NA ...

[Data summary]

summary(data1)
      j2dt                          lat             long          pressure      temp          salinity        density1        density2    
 Min.   :2016-08-24 08:20:27   Min.   :34.87   Min.   :128.6   Min.   :0   Min.   :22.25   Min.   :25.98   Min.   :15.42   Min.   :15.42  
 1st Qu.:2016-08-26 08:35:54   1st Qu.:34.99   1st Qu.:128.7   1st Qu.:0   1st Qu.:25.83   1st Qu.:30.69   1st Qu.:19.66   1st Qu.:19.66  
 Median :2016-08-28 08:51:22   Median :34.99   Median :128.7   Median :0   Median :26.61   Median :30.86   Median :19.78   Median :19.78  
 Mean   :2016-08-28 08:51:22   Mean   :34.99   Mean   :128.7   Mean   :0   Mean   :26.68   Mean   :30.92   Mean   :19.75   Mean   :19.75  
 3rd Qu.:2016-08-30 09:06:49   3rd Qu.:34.99   3rd Qu.:128.7   3rd Qu.:0   3rd Qu.:27.49   3rd Qu.:31.08   3rd Qu.:19.89   3rd Qu.:19.89  
 Max.   :2016-09-01 09:22:17   Max.   :35.04   Max.   :129.0   Max.   :0   Max.   :28.67   Max.   :32.18   Max.   :21.93   Max.   :21.93  
     soundv          flag   temp_flag        sal_flag      
 Min.   :1524   Min.   :0   Mode :logical   Mode :logical  
 1st Qu.:1532   1st Qu.:0   FALSE:68809     FALSE:67901    
 Median :1534   Median :0   TRUE :652       TRUE :1560     
 Mean   :1534   Mean   :0   NA's :31        NA's :31       
 3rd Qu.:1536   3rd Qu.:0                                  
 Max.   :1538   Max.   :0                                  

Moving IQR TEST Result..(Windows size= 31, 중앙값 16번째 값 좌우로 15개씩 총 31개 단위데이터 이용) 따라서 1~15행, 마지막행-15행까지의 데이터는 버려짐.

[Temperature’s M-IQR 검출결과]

cat("Temperature ->>", "Outliers(M-IQR) :", nrow(temp_Outliers), " , ", "Passed :", nrow(temp_Passed))
Temperature ->> Outliers(M-IQR) : 652  ,  Passed : 68809

[Temperature’s 시각화 체크]

boxplot(data1$temp, col="lightgrey", horizontal = T, xlab="째C", ylab="", main="temperature")

hist(data1$temp, col="lightcyan", breaks = 100, probability = TRUE, xlab="째C")

[Temperature’s Dynamic Plotting]

p<-ggplot(data1, aes(x=j2dt, y=temp, col=temp_flag)) +  geom_point(size=1) +
  scale_color_manual(values=c("black", "red")) + ggtitle("temperature Plot")
ggplotly(p)

[Salinity’s M-IQR 검출결과]

cat("Salinity ->>", "Outliers(M-IQR) :", nrow(salinity_Outliers), " , ", "Passed :", nrow(salinity_Passed))
Salinity ->> Outliers(M-IQR) : 1560  ,  Passed : 67901

[Salinity’s 시각화 체크]

boxplot(data1$salinity, col="lightgrey", horizontal = T, xlab="", ylab="", main="Salinity")

hist(data1$salinity, col="lightcyan", breaks = 100, probability = TRUE, xlab="")

[Salinity’s Dynamic Plotting]

p<-ggplot(data1, aes(x=j2dt, y=salinity, col=sal_flag)) +  geom_point(size=1) +
  scale_color_manual(values=c("black", "red")) + ggtitle("Salinity Plot")
ggplotly(p)
LS0tCnRpdGxlOiAiTW92aW5nIElRUiBUZXN0IGZvciBUU0cgZGF0YSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICBodG1sX2RvY3VtZW50OiBkZWZhdWx0CiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0CiAgd29yZF9kb2N1bWVudDogZGVmYXVsdAotLS0KIyMjIDIwMTYwODI0LmNudiDtjIzsnbwg67aE7ISdLi4KW0RhdGEgU3RydWN0dXJlXQpgYGB7cn0Kc3RyKGRhdGExKQpgYGAKCltEYXRhIHN1bW1hcnldCmBgYHtyfQpzdW1tYXJ5KGRhdGExKQpgYGAKCk1vdmluZyBJUVIgVEVTVCBSZXN1bHQuLihXaW5kb3dzIHNpemU9IDMxLCDspJHslZnqsJIgMTbrsojsp7gg6rCSIOyijOyasOuhnCAxNeqwnOyUqSDstJ0gMzHqsJwg64uo7JyE642w7J207YSwIOydtOyaqSkK65Sw65287IScIDF+MTXtloksIOuniOyngOunie2WiS0xNe2Wieq5jOyngOydmCDrjbDsnbTthLDripQg67KE66Ck7KeQLgoKW1RlbXBlcmF0dXJlJ3MgTS1JUVIg6rKA7Lac6rKw6rO8XQpgYGB7cn0KY2F0KCJUZW1wZXJhdHVyZSAtPj4iLCAiT3V0bGllcnMoTS1JUVIpIDoiLCBucm93KHRlbXBfT3V0bGllcnMpLCAiICwgIiwgIlBhc3NlZCA6IiwgbnJvdyh0ZW1wX1Bhc3NlZCkpCmBgYAoKW1RlbXBlcmF0dXJlJ3Mg7Iuc6rCB7ZmUIOyytO2BrF0KYGBge3J9CmJveHBsb3QoZGF0YTEkdGVtcCwgY29sPSJsaWdodGdyZXkiLCBob3Jpem9udGFsID0gVCwgeGxhYj0iwrBDIiwgeWxhYj0iIiwgbWFpbj0idGVtcGVyYXR1cmUiKQpoaXN0KGRhdGExJHRlbXAsIGNvbD0ibGlnaHRjeWFuIiwgYnJlYWtzID0gMTAwLCBwcm9iYWJpbGl0eSA9IFRSVUUsIHhsYWI9IsKwQyIpCgpgYGAKW1RlbXBlcmF0dXJlJ3MgRHluYW1pYyBQbG90dGluZ10KYGBge3J9CnA8LWdncGxvdChkYXRhMSwgYWVzKHg9ajJkdCwgeT10ZW1wLCBjb2w9dGVtcF9mbGFnKSkgKyAgZ2VvbV9wb2ludChzaXplPTEpICsKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzPWMoImJsYWNrIiwgInJlZCIpKSArIGdndGl0bGUoInRlbXBlcmF0dXJlIFBsb3QiKQpnZ3Bsb3RseShwKQoKYGBgCgoKW1NhbGluaXR5J3MgTS1JUVIg6rKA7Lac6rKw6rO8XQpgYGB7cn0KY2F0KCJTYWxpbml0eSAtPj4iLCAiT3V0bGllcnMoTS1JUVIpIDoiLCBucm93KHNhbGluaXR5X091dGxpZXJzKSwgIiAsICIsICJQYXNzZWQgOiIsIG5yb3coc2FsaW5pdHlfUGFzc2VkKSkKYGBgCgpbU2FsaW5pdHkncyDsi5zqsIHtmZQg7LK07YGsXQpgYGB7cn0KYm94cGxvdChkYXRhMSRzYWxpbml0eSwgY29sPSJsaWdodGdyZXkiLCBob3Jpem9udGFsID0gVCwgeGxhYj0iIiwgeWxhYj0iIiwgbWFpbj0iU2FsaW5pdHkiKQpoaXN0KGRhdGExJHNhbGluaXR5LCBjb2w9ImxpZ2h0Y3lhbiIsIGJyZWFrcyA9IDEwMCwgcHJvYmFiaWxpdHkgPSBUUlVFLCB4bGFiPSIiKQoKYGBgCltTYWxpbml0eSdzIER5bmFtaWMgUGxvdHRpbmddCmBgYHtyfQpwPC1nZ3Bsb3QoZGF0YTEsIGFlcyh4PWoyZHQsIHk9c2FsaW5pdHksIGNvbD1zYWxfZmxhZykpICsgIGdlb21fcG9pbnQoc2l6ZT0xKSArCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCJibGFjayIsICJyZWQiKSkgKyBnZ3RpdGxlKCJTYWxpbml0eSBQbG90IikKZ2dwbG90bHkocCkKCmBgYAoKCgoKCg==