{"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"4.0.5"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"raw","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-05-06T09:24:15.704442Z","iopub.execute_input":"2022-05-06T09:24:15.704869Z","iopub.status.idle":"2022-05-06T09:24:17.841275Z","shell.execute_reply.started":"2022-05-06T09:24:15.704768Z","shell.execute_reply":"2022-05-06T09:24:17.840379Z"}}},{"cell_type":"markdown","source":"**My goal is to show the possibilities of visualization in a programming language R. During the competition, I realized that I did not have enough knowledge to develop a full-fledged working model.**","metadata":{}},{"cell_type":"code","source":"# read the test and train dataset in the Samsung Galaxy S20 Ultra\ndata2020 = read.csv ('../input/smartphone-decimeter-2022/test/2021-04-28-US-MTV-2/SamsungGalaxyS20Ultra/device_gnss.csv')\nhead (data2020)","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:19.294382Z","iopub.execute_input":"2022-05-21T15:12:19.296019Z","iopub.status.idle":"2022-05-21T15:12:24.263159Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data2021 = read.csv ('../input/smartphone-decimeter-2022/train/2021-08-04-US-SJC-1/SamsungGalaxyS20Ultra/device_gnss.csv')\nhead (data2021)","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:27.287255Z","iopub.execute_input":"2022-05-21T15:12:27.288856Z","iopub.status.idle":"2022-05-21T15:12:31.224517Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Overview data structure**","metadata":{}},{"cell_type":"code","source":"# read the data\nclass (data2020)\n\n# show classes of all columns\nsapply (data2020, class)\n\n# show list components\nnames (data2020) \n\n# dimensions\ndim (data2020)","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:33.589705Z","iopub.execute_input":"2022-05-21T15:12:33.591296Z","iopub.status.idle":"2022-05-21T15:12:33.627378Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Data summaries**","metadata":{}},{"cell_type":"code","source":"# create a function for summary each column\n\nfor (i in 1: dim (data2020) [[2]])\n    {a <- names (data2020) [[i]]\n    b <- data2020 [[i]]\n    if (is.numeric (b) == TRUE)\n        {cat (\"Attribute Number\", i)\n        print (a)\n        print (summary (b))\n        print (\" \")}}","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:36.497417Z","iopub.execute_input":"2022-05-21T15:12:36.499331Z","iopub.status.idle":"2022-05-21T15:12:36.812047Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# summary all dataset data2020\n\nsummary (data2020)\nstr (data2020 [1, ]) # in R first number is one, not zero","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:41.717288Z","iopub.execute_input":"2022-05-21T15:12:41.718821Z","iopub.status.idle":"2022-05-21T15:12:42.108606Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Visualizing multidimensional data using Parallel coordinates plot**","metadata":{}},{"cell_type":"code","source":"# import required libraries \nlibrary (ggplot2)\nlibrary (hrbrthemes)\nlibrary (GGally)\nlibrary (viridisLite)\n\n# read the dataset\nMdata2020 = read.csv ('../input/smartphone-decimeter-2022/test/2021-04-28-US-MTV-2/SamsungGalaxyS20Ultra/device_imu.csv')\n\n# Extact the measurementX, measurementY and measurementZ data\nMeasurement <- cbind (Mdata2020$MeasurementX, Mdata2020$MeasurementY, Mdata2020$MeasurementZ)\n\n# Graphically summarize the data using a boxplot\nboxplot (Measurement, col = 'orange')","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:12:54.980270Z","iopub.execute_input":"2022-05-21T15:12:54.981830Z","iopub.status.idle":"2022-05-21T15:13:05.692316Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"par (font.axis = 2, font.lab = 2)\nboxplot (Mdata2020$MeasurementX, xlab = \"MeasurementX\", horizontal = T)","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:13:14.532811Z","iopub.execute_input":"2022-05-21T15:13:14.534613Z","iopub.status.idle":"2022-05-21T15:13:20.764834Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"hist (Mdata2020$MeasurementX, xlab = \"MeasurementX\")","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:13:23.489016Z","iopub.execute_input":"2022-05-21T15:13:23.490643Z","iopub.status.idle":"2022-05-21T15:13:23.572961Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"hist (Mdata2020$MeasurementY, xlab = \"MeasurementY\")","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:15:17.836367Z","iopub.execute_input":"2022-05-21T15:15:17.837951Z","iopub.status.idle":"2022-05-21T15:15:17.926427Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"hist (Mdata2020$MeasurementZ, xlab = \"MeasurementZ\")","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:15:21.152517Z","iopub.execute_input":"2022-05-21T15:15:21.154105Z","iopub.status.idle":"2022-05-21T15:15:21.226641Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plot (x = data2020$WlsPositionXEcefMeters, y = data2020$WlsPositionYEcefMeters,\n     main = \"Scattterplot of X vs. Y\")","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:15:23.725339Z","iopub.execute_input":"2022-05-21T15:15:23.726896Z","iopub.status.idle":"2022-05-21T15:15:25.923557Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"library (tidyverse)","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:15:34.120485Z","iopub.execute_input":"2022-05-21T15:15:34.121976Z","iopub.status.idle":"2022-05-21T15:15:34.133100Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ggplot (data2020) + geom_point (mapping = aes (x = utcTimeMillis, y = TimeNanos))","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:17:35.459894Z","iopub.execute_input":"2022-05-21T15:17:35.461616Z","iopub.status.idle":"2022-05-21T15:17:38.367154Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ggplot (data2020) + geom_point (mapping = aes (x = FullBiasNanos, y = DriftNanosPerSecond , color = \"blue\"))","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:34:44.765454Z","iopub.execute_input":"2022-05-21T15:34:44.767243Z","iopub.status.idle":"2022-05-21T15:34:47.751639Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ggplot (data2020, mapping = aes (x = HardwareClockDiscontinuityCount, y = Svid)) + geom_point () + geom_smooth ()","metadata":{"execution":{"iopub.status.busy":"2022-05-21T15:56:25.227206Z","iopub.execute_input":"2022-05-21T15:56:25.228882Z","iopub.status.idle":"2022-05-21T15:56:28.993646Z"},"trusted":true},"execution_count":null,"outputs":[]}]}