SETUP

Begin the setup of environment by setting a directory to work in.

Install/Load the required packages.

DATA DESCRIPTION

As per the given task, following is the open source link for the data I have considered.

https://vincentarelbundock.github.io/Rdatasets/datasets.html?fbclid=IwAR1zE57wqKeMzPiTb8uFFK0nuIRkmMSXfcDFuifyP4BhCwTy_jEdncyVZIg

File downloand link - https://vincentarelbundock.github.io/Rdatasets/csv/DAAG/worldRecords.csv

The filename is “worldRecords” which is a csv file. The data in the file is about records created by fellow racers in car racing over the years at different locations.

Some of the characteristics of selected dataset are,

READ/IMPORT DATA

Step 1: WR <- read.csv(“worldRecords.csv”) - The file worldRecords which is in csv format is imported into R.

Step 2: head(WR) - The function head() describes the header of the file. On execution, header of WR can be viewed.


WR <- read.csv("worldRecords.csv")
head(WR)
NA

Step 3: WR.df <- data.frame(WR) - The imported file is converted and saved as a data frame.


WR.df <- data.frame(WR)

INSPECT and UNDERSTAND

This step is about analysing and manipulating the data frame with respect to its dimension, data types and structure.

So, Dimensions of the data frame could be obtained by dim(“WR.df”) which gives number of rows and columns as its output data in form of dimension.


dim(WR.df)
[1] 40  6

Data type is the type of data, the variable holds. It could be either of numeric, character, integer, factor, and logical. The following function i,e typef() help us in getting data types of the variable set.


typeof(WR.df)
[1] "list"

attributes(WR.df)
$names
[1] "X"           "Distance"    "roadORtrack" "Place"       "Time"        "Date"       

$class
[1] "data.frame"

$row.names
 [1]  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

typeof("X")
[1] "character"

typeof("Distance")
[1] "character"

typeof("roadORtrack")
[1] "character"

typeof("Place")
[1] "character"

typeof("Time")
[1] "character"

typeof("Date")
[1] "character"

The categorical variables or factor variables has different labels to categorise the things. These labels follow the levels or ordering which could be renamed or rearanged.


rORt <- factor(WR$roadORtrack, labels = c("road", "track"), levels = c("road", "track"))
levels(rORt)    
[1] "road"  "track"

Column names of a data frame could be obtained by function colnames().


colnames(WR.df)
[1] "X"           "Distance"    "roadORtrack" "Place"       "Time"        "Date"       

The column name of column number 1 has been assigned as “X” as it was null value. It could be renamed as “Sl.No” by following the syntax below.


colnames(WR.df)[1] <- c("Sl.No")   
colnames(WR.df)    
[1] "Sl.No"       "Distance"    "roadORtrack" "Place"       "Time"        "Date"       

SUBSET 1

Subsetting a data frame inclusive of all variables.


WR.sub.df <- WR.df[1:10, ]
WR.sub.df 
NA
NA

Conversion of data frame to matrix.


WR.mat <- matrix(WR.sub.df)
WR.mat    
     [,1]      
[1,] Integer,10
[2,] Numeric,10
[3,] factor,10 
[4,] factor,10 
[5,] Numeric,10
[6,] factor,10 

Structure of matrix,

str(WR.mat)
List of 6
 $ : int [1:10] 1 2 3 4 5 6 7 8 9 10
 $ : num [1:10] 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.8 1 1.5
 $ : Factor w/ 2 levels "road","track": 2 2 2 2 2 2 2 2 2 2
 $ : Factor w/ 33 levels "Alphen aan den Rijn",..: 2 9 3 27 31 7 30 13 28 29
 $ : num [1:10] 0.163 0.247 0.322 0.514 0.72 ...
 $ : Factor w/ 37 levels "1978-10-28","1980-06-07",..: 32 5 14 26 23 7 9 18 24 21
 - attr(*, "dim")= int [1:2] 6 1

SUBSET 2

Subsetting a data frame with only first and last variable.


WR.sub1.df <- WR.df[, c(1,6)]
WR.sub1.df
NA

Saving as R object file.


save(WR.sub1.df, file = "WR.sub1.df.rdata")

CREATING A NEW DATA FRAME

A new data frame with 2 variables and 4 observations is created here. The variables being Building and Level.


newdf <- data.frame(Building = 80:83, Level = c("A", "B", "C", "D"))
newdf
NA

Structure and levels of ordinal variable could be obtained from doing the following,


str("Building")
 chr "Building"

str("Level")
 chr "Level"

levels("Level")
NULL

Creating a numeric vector and adding it to data frame using cbind().


Num <- c(1, 2, 3, 4)
newdf1 <- cbind(newdf, Num)
newdf1
NA

Attributes and dimension of the new data frame,


attributes(newdf1)
$names
[1] "Building" "Level"    "Num"     

$class
[1] "data.frame"

$row.names
[1] 1 2 3 4

dim(newdf1)
[1] 4 3




LS0tDQp0aXRsZTogIk1BVEgyMzQ5IFNlbWVzdGVyIDEsIDIwMTkiDQphdXRob3I6ICJTeWVkIFdhamFoYXRoIC0gczM3NTAwMzkiDQpzdWJ0aXRsZTogQXNzaWdubWVudCAxDQpvdXRwdXQ6IA0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQotLS0NCg0KIyMgU0VUVVANCg0KQmVnaW4gdGhlIHNldHVwIG9mIGVudmlyb25tZW50IGJ5IHNldHRpbmcgYSBkaXJlY3RvcnkgdG8gd29yayBpbi4NCg0KKiBzZXR3ZCgiQzovVXNlcnMvV2FqYWhhdGgvRGVza3RvcC9EYXRhIHByZS1wcm9jZXNzaW5nL0Fzc2lnbm1lbnQgMSIpIC0gVGhpcyBzZXRzIHdvcmtpbmcgZGlyZWN0b3J5DQoNCkluc3RhbGwvTG9hZCB0aGUgcmVxdWlyZWQgcGFja2FnZXMuDQoNCiogbGlicmFyeShyZWFkcikgLSBUaGlzIGlzIHVzZWQgZm9yIGltcG9ydGluZyBkYXRhDQoqIGxpYnJhcnkoZm9yZWlnbikgLSBUaGlzIGlzIHVzZWQgZm9yIGltcG9ydGluZyBTUFNTLCBTQVMsIFNUQVRBIGV0YyBkYXRhIGZpbGVzDQoqIGxpYnJhcnkoZ2RhdGEpIC0gVGhpcyBpcyB1c2VkIGZvciBtYW5pcHVsYXRpbmcgZGF0YQ0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFLCB3YXJuaW5ncz19DQoNCnNldHdkKCJDOi9Vc2Vycy9XYWphaGF0aC9EZXNrdG9wL0FuYWx5dGljcy9TZW0gMS9EYXRhIHByZS1wcm9jZXNzaW5nL0Fzc2lnbm1lbnQgMSIpICNTZXRzIHRoZSB3b3JraW5nIGRpcmVjdG9yeQ0KDQpsaWJyYXJ5KHJlYWRyKSAgICMgVXNlZCBmb3IgaW1wb3J0aW5nIGRhdGENCmxpYnJhcnkoZm9yZWlnbikgIyBVc2VkIGZvciBpbXBvcnRpbmcgU1BTUywgU0FTLCBTVEFUQSBldGMuIGRhdGEgZmlsZXMNCmxpYnJhcnkoZ2RhdGEpICAgIyBVc2VkIGZvciBtYW5pcHVsYXRpbmcgZGF0YQ0KYGBgDQoNCg0KIyMgREFUQSBERVNDUklQVElPTg0KDQpBcyBwZXIgdGhlIGdpdmVuIHRhc2ssIGZvbGxvd2luZyBpcyB0aGUgb3BlbiBzb3VyY2UgbGluayBmb3IgdGhlIGRhdGEgSSBoYXZlIGNvbnNpZGVyZWQuIA0KDQpodHRwczovL3ZpbmNlbnRhcmVsYnVuZG9jay5naXRodWIuaW8vUmRhdGFzZXRzL2RhdGFzZXRzLmh0bWw/ZmJjbGlkPUl3QVIxekU1N3dxS2VNelBpVGI4dUZGSzBudUlSa21NU1hmY0RGdWlmeVA0QmhDd1R5X2pFZG5jeVZaSWcNCg0KRmlsZSBkb3dubG9hbmQgbGluayAtIGh0dHBzOi8vdmluY2VudGFyZWxidW5kb2NrLmdpdGh1Yi5pby9SZGF0YXNldHMvY3N2L0RBQUcvd29ybGRSZWNvcmRzLmNzdg0KDQpUaGUgZmlsZW5hbWUgaXMgIndvcmxkUmVjb3JkcyIgd2hpY2ggaXMgYSBjc3YgZmlsZS4gVGhlIGRhdGEgaW4gdGhlIGZpbGUgaXMgYWJvdXQgcmVjb3JkcyBjcmVhdGVkIGJ5IGZlbGxvdyByYWNlcnMgaW4gY2FyIHJhY2luZyBvdmVyIHRoZSB5ZWFycyBhdCBkaWZmZXJlbnQgbG9jYXRpb25zLg0KDQpTb21lIG9mIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygc2VsZWN0ZWQgZGF0YXNldCBhcmUsDQoNCiogVGhlIGZpbGUgaGFzIDYgZGlmZmVyZW50IGF0dHJpYnV0ZXMgY29uc2lkZXJlZCBvdmVyIDQwIG9ic2VydmF0aW9ucy4NCg0KKiBUaGUgYXR0cmlidXRlICoqcm9hZE9SdHJhY2sqKiBpcyBhIGNhdGVnb3JpY2FsIHZhcmlhYmxlLg0KDQoqIERhdGEgaGFzIGZldyBvdGhlciB2YXJpYWJsZXMgd2l0aCBuYW1lcyAtIERpc3RhbmNlLCBQbGFjZSwgVGltZSBhbmQgRGF0ZS4NCg0KDQojIyBSRUFEL0lNUE9SVCBEQVRBDQoNClN0ZXAgMTogKipXUiA8LSByZWFkLmNzdigid29ybGRSZWNvcmRzLmNzdiIpKiogLSBUaGUgZmlsZSB3b3JsZFJlY29yZHMgd2hpY2ggaXMgaW4gY3N2IGZvcm1hdCBpcyBpbXBvcnRlZCBpbnRvIFIuDQoNClN0ZXAgMjogKipoZWFkKFdSKSoqIC0gVGhlIGZ1bmN0aW9uIGhlYWQoKSBkZXNjcmliZXMgdGhlIGhlYWRlciBvZiB0aGUgZmlsZS4gT24gZXhlY3V0aW9uLCBoZWFkZXIgb2YgV1IgY2FuIGJlIHZpZXdlZC4NCg0KYGBge3J9DQoNCldSIDwtIHJlYWQuY3N2KCJ3b3JsZFJlY29yZHMuY3N2IikNCmhlYWQoV1IpDQoNCmBgYA0KDQpTdGVwIDM6ICoqV1IuZGYgPC0gZGF0YS5mcmFtZShXUikqKiAtIFRoZSBpbXBvcnRlZCBmaWxlIGlzIGNvbnZlcnRlZCBhbmQgc2F2ZWQgYXMgYSBkYXRhIGZyYW1lLiAgIA0KDQpgYGB7cn0NCg0KV1IuZGYgPC0gZGF0YS5mcmFtZShXUikNCg0KYGBgDQoNCg0KIyMgSU5TUEVDVCBhbmQgVU5ERVJTVEFORA0KDQpUaGlzIHN0ZXAgaXMgYWJvdXQgYW5hbHlzaW5nIGFuZCBtYW5pcHVsYXRpbmcgdGhlIGRhdGEgZnJhbWUgd2l0aCByZXNwZWN0IHRvIGl0cyBkaW1lbnNpb24sIGRhdGEgdHlwZXMgYW5kIHN0cnVjdHVyZS4NCg0KU28sIERpbWVuc2lvbnMgb2YgdGhlIGRhdGEgZnJhbWUgY291bGQgYmUgb2J0YWluZWQgYnkgKipkaW0oIldSLmRmIikqKiB3aGljaCBnaXZlcyBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyBhcyBpdHMgb3V0cHV0IGRhdGEgaW4gZm9ybSBvZiBkaW1lbnNpb24uDQoNCmBgYHtyfQ0KDQpkaW0oV1IuZGYpDQoNCmBgYA0KDQpEYXRhIHR5cGUgaXMgdGhlIHR5cGUgb2YgZGF0YSwgdGhlIHZhcmlhYmxlIGhvbGRzLiBJdCBjb3VsZCBiZSBlaXRoZXIgb2YgbnVtZXJpYywgY2hhcmFjdGVyLCBpbnRlZ2VyLCBmYWN0b3IsIGFuZCBsb2dpY2FsLiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGksZSAqKnR5cGVmKCkqKiBoZWxwIHVzIGluIGdldHRpbmcgZGF0YSB0eXBlcyBvZiB0aGUgdmFyaWFibGUgc2V0Lg0KDQoqIHR5cGVvZihXUi5kZikNCmBgYHtyfQ0KDQp0eXBlb2YoV1IuZGYpDQoNCmBgYA0KKiBhdHRyaWJ1dGVzKFdSLmRmKQ0KYGBge3J9DQoNCmF0dHJpYnV0ZXMoV1IuZGYpDQoNCmBgYA0KKiB0eXBlb2YoIlgiKQ0KYGBge3J9DQoNCnR5cGVvZigiWCIpDQoNCmBgYA0KKiB0eXBlb2YoIkRpc3RhbmNlIikNCmBgYHtyfQ0KDQp0eXBlb2YoIkRpc3RhbmNlIikNCg0KYGBgDQoqIHR5cGVvZigicm9hZE9ydHJhY2siKQ0KYGBge3J9DQoNCnR5cGVvZigicm9hZE9SdHJhY2siKQ0KDQpgYGANCiogdHlwZW9mKCJQbGFjZSIiKQ0KYGBge3J9DQoNCnR5cGVvZigiUGxhY2UiKQ0KDQpgYGANCiogdHlwZW9mKCJUaW1lIikNCmBgYHtyfQ0KDQp0eXBlb2YoIlRpbWUiKQ0KDQpgYGANCiogdHlwZW9mKCJEYXRlIikNCmBgYHtyfQ0KDQp0eXBlb2YoIkRhdGUiKQ0KDQpgYGANCg0KDQpUaGUgY2F0ZWdvcmljYWwgdmFyaWFibGVzIG9yIGZhY3RvciB2YXJpYWJsZXMgaGFzIGRpZmZlcmVudCBsYWJlbHMgdG8gY2F0ZWdvcmlzZSB0aGUgdGhpbmdzLiBUaGVzZSBsYWJlbHMgZm9sbG93IHRoZSBsZXZlbHMgb3Igb3JkZXJpbmcgd2hpY2ggY291bGQgYmUgcmVuYW1lZCBvciByZWFyYW5nZWQuDQoNCmBgYHtyfQ0KDQpyT1J0IDwtIGZhY3RvcihXUiRyb2FkT1J0cmFjaywgbGFiZWxzID0gYygicm9hZCIsICJ0cmFjayIpLCBsZXZlbHMgPSBjKCJyb2FkIiwgInRyYWNrIikpDQpsZXZlbHMock9SdCkgICAgDQoNCmBgYA0KICANCkNvbHVtbiBuYW1lcyBvZiBhIGRhdGEgZnJhbWUgY291bGQgYmUgb2J0YWluZWQgYnkgZnVuY3Rpb24gKipjb2xuYW1lcygpKiouDQoNCiogY29sbmFtZXMoV1IuZGYpDQpgYGB7cn0NCg0KY29sbmFtZXMoV1IuZGYpDQoNCmBgYA0KDQpUaGUgY29sdW1uIG5hbWUgb2YgY29sdW1uIG51bWJlciAxIGhhcyBiZWVuIGFzc2lnbmVkIGFzICoqIlgiKiogYXMgaXQgd2FzIG51bGwgdmFsdWUuIEl0IGNvdWxkIGJlIHJlbmFtZWQgYXMgIlNsLk5vIiBieSBmb2xsb3dpbmcgdGhlIHN5bnRheCBiZWxvdy4NCg0KICAgIA0KYGBge3J9DQoNCmNvbG5hbWVzKFdSLmRmKVsxXSA8LSBjKCJTbC5ObyIpICAgDQpjb2xuYW1lcyhXUi5kZikgICAgDQoNCmBgYA0KDQoNCiMjIFNVQlNFVCAxDQoNClN1YnNldHRpbmcgYSBkYXRhIGZyYW1lIGluY2x1c2l2ZSBvZiBhbGwgdmFyaWFibGVzLg0KDQoqIFdSLnN1Yi5kZiA8LSBXUi5kZlsxOjEwLCBdDQoNCiAgICBXUi5zdWIuZGYNCiAgICANCmBgYHtyfQ0KDQpXUi5zdWIuZGYgPC0gV1IuZGZbMToxMCwgXQ0KV1Iuc3ViLmRmIA0KDQoNCmBgYA0KDQpDb252ZXJzaW9uIG9mIGRhdGEgZnJhbWUgdG8gbWF0cml4Lg0KDQoqIFdSLm1hdCA8LSBtYXRyaXgoV1Iuc3ViLmRmKQ0KDQogICAgV1IubWF0DQogICAgDQpgYGB7cn0NCg0KV1IubWF0IDwtIG1hdHJpeChXUi5zdWIuZGYpDQpXUi5tYXQgICAgDQoNCmBgYA0KDQpTdHJ1Y3R1cmUgb2YgbWF0cml4LA0KYGBge3J9DQpzdHIoV1IubWF0KQ0KDQpgYGANCg0KKiBBIHN1YnNldCBvZiAxMCBvYnNlcnZhdGlvbnMgaW5jbHVzaXZlIG9mIGFsbCB2YXJpYWJsZXMgaXMgY3JlYXRlZC4gRnVydGhlciwgdGhlIHN1YnNldCBjcmVhdGVkIGlzIGNvbnZlcnRlZCBpbnRvIGEgbWF0cml4IGluIHNlY29uZCBzdGVwLiBUaGVuLCB0aGUgc3RydWN0dXJlIG9mIG1hdHJpeCBpcyBvYnRhaW5lZCB3aGljaCB5aWVsZHMgaW50ZXJlc3Rpbmcgb3V0cHV0LiBUaGUgZGF0YSB0eXBlIG9mIG1hdHJpeCBvYnRhaW5lZCBpcyAqKmxpc3QqKi4gSXQgaXMgc28gYmVjYXVzZSwgZGF0YSBmcmFtZXMgaGFzIHByb3BlcnRpZXMgb2YgYm90aCBsaXN0IGFuZCBhIG1hdHJpeC4gTWF0cml4IG9uIG90aGVyIGhhbmQgc2hvdWxkIGhhdmUgc2FtZSBjbGFzcyBvZiB2YXJpYWJsZXMuDQoNCg0KIyMgU1VCU0VUIDINCg0KU3Vic2V0dGluZyBhIGRhdGEgZnJhbWUgd2l0aCBvbmx5IGZpcnN0IGFuZCBsYXN0IHZhcmlhYmxlLg0KDQoqIFdSLnN1YjEuZGYgPC0gV1IuZGZbLCBjKDEsNildDQoNCiAgICBXUi5zdWIxLmRmDQpgYGB7cn0NCg0KV1Iuc3ViMS5kZiA8LSBXUi5kZlssIGMoMSw2KV0NCldSLnN1YjEuZGYNCg0KYGBgDQoNClNhdmluZyBhcyBSIG9iamVjdCBmaWxlLg0KDQoqIHNhdmUoV1Iuc3ViMS5kZiwgZmlsZSA9ICJXUi5zdWIxLmRmLnJkYXRhIikNCmBgYHtyfQ0KDQpzYXZlKFdSLnN1YjEuZGYsIGZpbGUgPSAiV1Iuc3ViMS5kZi5yZGF0YSIpDQoNCmBgYA0KDQoNCiogQSBuZXcgc3Vic2V0IG9mIGRhdGEgZnJhbWUgaXMgbWFkZSBoZXJlLiBUaGlzIHN1YnNldCBpcyBnZW5lcmF0ZWQgYnkgY29uc2lkZXJpbmcgYWxsIHRoZSBvYnNlcnZhdGlvbnMgb3ZlciAyIHZhcmlhYmxlcywgcHJlY2lzZWx5IG92ZXIgZmlyc3QgYW5kIGxhc3QgdmFyaWFibGUoaSxlIFNMLm5vIGFuZCBEYXRlKS4gVGhpcyBjb3VsZCBiZSBhdHRhaW5lZCBmcm9tICoqV1Iuc3ViMS5kZiA8LSBXUi5kZlssIGMoMTo2KV0qKi4gTGF0ZXIsIHRoaXMgaXMgc2F2ZWQgYXMgUiBvYmplY3QgZmlsZS4NCg0KDQoNCg0KDQojIyBDUkVBVElORyBBIE5FVyBEQVRBIEZSQU1FDQoNCkEgbmV3IGRhdGEgZnJhbWUgd2l0aCAyIHZhcmlhYmxlcyBhbmQgNCBvYnNlcnZhdGlvbnMgaXMgY3JlYXRlZCBoZXJlLiBUaGUgdmFyaWFibGVzIGJlaW5nICoqQnVpbGRpbmcgYW5kIExldmVsKiouIA0KDQpgYGB7cn0NCg0KbmV3ZGYgPC0gZGF0YS5mcmFtZShCdWlsZGluZyA9IDgwOjgzLCBMZXZlbCA9IGMoIkEiLCAiQiIsICJDIiwgIkQiKSkNCm5ld2RmDQoNCmBgYA0KICAgIA0KU3RydWN0dXJlIGFuZCBsZXZlbHMgb2Ygb3JkaW5hbCB2YXJpYWJsZSBjb3VsZCBiZSBvYnRhaW5lZCBmcm9tIGRvaW5nIHRoZSBmb2xsb3dpbmcsDQoNCmBgYHtyfQ0KDQpzdHIoIkJ1aWxkaW5nIikNCg0KYGBgDQoNCmBgYHtyfQ0KDQpzdHIoIkxldmVsIikNCg0KYGBgDQoNCmBgYHtyfQ0KDQpsZXZlbHMoIkxldmVsIikNCg0KYGBgDQoNCkNyZWF0aW5nIGEgbnVtZXJpYyB2ZWN0b3IgYW5kIGFkZGluZyBpdCB0byBkYXRhIGZyYW1lIHVzaW5nIGNiaW5kKCkuDQoNCiogTnVtIDwtIGMoMSwgMiwgMywgNCkNCg0KICAgIG5ld2RmMSA8LSBjYmluZChuZXdkZiwgTnVtKQ0KICAgIA0KICAgIG5ld2RmMQ0KYGBge3J9DQoNCk51bSA8LSBjKDEsIDIsIDMsIDQpDQpuZXdkZjEgPC0gY2JpbmQobmV3ZGYsIE51bSkNCm5ld2RmMQ0KDQpgYGANCg0KQXR0cmlidXRlcyBhbmQgZGltZW5zaW9uIG9mIHRoZSBuZXcgZGF0YSBmcmFtZSwNCg0KDQpgYGB7cn0NCg0KYXR0cmlidXRlcyhuZXdkZjEpDQoNCmBgYA0KDQoNCmBgYHtyfQ0KDQpkaW0obmV3ZGYxKQ0KDQpgYGANCg0KDQoNCg0KPGJyPg0KPGJyPg0KPGJyPg0K