This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
#Library Definitions
library(plyr)
library(RCurl)
## Loading required package: bitops
# Input Dataset from local file
input_dataset <- read.csv(file="C:/MSDS/Bridge Course/Assignments/Week 2/nuclear.csv",header=TRUE,sep=",")
#Problem 1 - Summary of Dataset
summary(input_dataset)
## X id docvis hospvis
## Min. : 1 Min. : 1 Min. : 0.000 Min. : 0.0000
## 1st Qu.: 4903 1st Qu.:1746 1st Qu.: 0.000 1st Qu.: 0.0000
## Median : 9805 Median :3471 Median : 1.000 Median : 0.0000
## Mean : 9805 Mean :3448 Mean : 3.176 Mean : 0.1381
## 3rd Qu.:14707 3rd Qu.:5134 3rd Qu.: 4.000 3rd Qu.: 0.0000
## Max. :19609 Max. :7028 Max. :121.000 Max. :51.0000
## year edlevel age outwork
## Min. :1984 Min. :1.000 Min. :25.00 Min. :0.0000
## 1st Qu.:1985 1st Qu.:1.000 1st Qu.:34.00 1st Qu.:0.0000
## Median :1986 Median :1.000 Median :44.00 Median :0.0000
## Mean :1986 Mean :1.433 Mean :43.79 Mean :0.3439
## 3rd Qu.:1987 3rd Qu.:1.000 3rd Qu.:53.00 3rd Qu.:1.0000
## Max. :1988 Max. :4.000 Max. :64.00 Max. :1.0000
## female married kids hhninc
## Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. : 0.000
## 1st Qu.:0.0000 1st Qu.:1.0000 1st Qu.:0.0000 1st Qu.: 2.200
## Median :0.0000 Median :1.0000 Median :0.0000 Median : 3.000
## Mean :0.4805 Mean :0.7736 Mean :0.4132 Mean : 3.239
## 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.: 4.000
## Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :30.671
## educ self edlevel1 edlevel2
## Min. : 7.00 Min. :0.00000 Min. :0.000 Min. :0.0000
## 1st Qu.:10.50 1st Qu.:0.00000 1st Qu.:1.000 1st Qu.:0.0000
## Median :10.50 Median :0.00000 Median :1.000 Median :0.0000
## Mean :11.25 Mean :0.06313 Mean :0.787 Mean :0.0588
## 3rd Qu.:11.50 3rd Qu.:0.00000 3rd Qu.:1.000 3rd Qu.:0.0000
## Max. :18.00 Max. :1.00000 Max. :1.000 Max. :1.0000
## edlevel3 edlevel4
## Min. :0.00000 Min. :0.00000
## 1st Qu.:0.00000 1st Qu.:0.00000
## Median :0.00000 Median :0.00000
## Mean :0.08838 Mean :0.06579
## 3rd Qu.:0.00000 3rd Qu.:0.00000
## Max. :1.00000 Max. :1.00000
#Problem 1 - Mean and Median of two attributes
mean(input_dataset$hhninc)
## [1] 3.238921
median(input_dataset$hhninc)
## [1] 3
mean(input_dataset$educ)
## [1] 11.25067
median(input_dataset$educ)
## [1] 10.5
#Problem 2 - Subset of Data frame based on year 1986 and renaming the data frame to new name
data_frame_input <- data.frame(subset(input_dataset,year==1986))
data_frame_new <- data_frame_input
#Problem 3 - Renaming Column names to new column names
names(data_frame_new)[1]="seq_no"
names(data_frame_new)[2]="nuclear_id"
names(data_frame_new)[3]="nuclear_docvis"
names(data_frame_new)[4]="nuclear_hospvis"
names(data_frame_new)[5]="nuclear_year"
names(data_frame_new)[6]="nuclear_edlevel"
names(data_frame_new)[7]="nuclear_age"
names(data_frame_new)[8]="nuclear_outwork"
names(data_frame_new)[9]="nuclear_female"
names(data_frame_new)[10]="nuclear_married"
names(data_frame_new)[11]="nuclear_kids"
names(data_frame_new)[12]="nuclear_hhninc"
names(data_frame_new)[13]="nuclear_educ"
names(data_frame_new)[14]="nuclear_self"
names(data_frame_new)[15]="nuclear_edlevel1"
names(data_frame_new)[16]="nuclear_edlevel2"
names(data_frame_new)[17]="nuclear_edlevel3"
names(data_frame_new)[18]="nuclear_edlevel4"
#Problem 4 - Summary of subset Data frame and Mean/Median of same two attributes
summary(data_frame_new)
## seq_no nuclear_id nuclear_docvis nuclear_hospvis
## Min. : 3 Min. : 1 Min. : 0.000 Min. : 0.0000
## 1st Qu.: 4907 1st Qu.:1747 1st Qu.: 0.000 1st Qu.: 0.0000
## Median : 9697 Median :3428 Median : 2.000 Median : 0.0000
## Mean : 9768 Mean :3435 Mean : 3.512 Mean : 0.1266
## 3rd Qu.:14624 3rd Qu.:5107 3rd Qu.: 4.000 3rd Qu.: 0.0000
## Max. :19553 Max. :6919 Max. :84.000 Max. :15.0000
## nuclear_year nuclear_edlevel nuclear_age nuclear_outwork
## Min. :1986 Min. :1.000 Min. :25.00 Min. :0.0000
## 1st Qu.:1986 1st Qu.:1.000 1st Qu.:35.00 1st Qu.:0.0000
## Median :1986 Median :1.000 Median :44.00 Median :0.0000
## Mean :1986 Mean :1.436 Mean :43.92 Mean :0.3547
## 3rd Qu.:1986 3rd Qu.:1.000 3rd Qu.:53.00 3rd Qu.:1.0000
## Max. :1986 Max. :4.000 Max. :64.00 Max. :1.0000
## nuclear_female nuclear_married nuclear_kids nuclear_hhninc
## Min. :0.000 Min. :0.0000 Min. :0.0000 Min. : 0.150
## 1st Qu.:0.000 1st Qu.:1.0000 1st Qu.:0.0000 1st Qu.: 2.200
## Median :0.000 Median :1.0000 Median :0.0000 Median : 3.000
## Mean :0.481 Mean :0.7751 Mean :0.4135 Mean : 3.249
## 3rd Qu.:1.000 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.: 4.000
## Max. :1.000 Max. :1.0000 Max. :1.0000 Max. :30.671
## nuclear_educ nuclear_self nuclear_edlevel1 nuclear_edlevel2
## Min. : 7.00 Min. :0.00000 Min. :0.0000 Min. :0.00000
## 1st Qu.:10.50 1st Qu.:0.00000 1st Qu.:1.0000 1st Qu.:0.00000
## Median :10.50 Median :0.00000 Median :1.0000 Median :0.00000
## Mean :11.26 Mean :0.06092 Mean :0.7859 Mean :0.05907
## 3rd Qu.:11.50 3rd Qu.:0.00000 3rd Qu.:1.0000 3rd Qu.:0.00000
## Max. :18.00 Max. :1.00000 Max. :1.0000 Max. :1.00000
## nuclear_edlevel3 nuclear_edlevel4
## Min. :0.00000 Min. :0.00000
## 1st Qu.:0.00000 1st Qu.:0.00000
## Median :0.00000 Median :0.00000
## Mean :0.08782 Mean :0.06725
## 3rd Qu.:0.00000 3rd Qu.:0.00000
## Max. :1.00000 Max. :1.00000
mean(data_frame_new$nuclear_hhninc)
## [1] 3.248569
median(data_frame_new$nuclear_hhninc)
## [1] 3
mean(data_frame_new$nuclear_educ)
## [1] 11.26257
median(data_frame_new$nuclear_educ)
## [1] 10.5
#Problem 5 - Replacing Column Values of nuclear_married from 1 to Yes and 0 to No
data_frame_new$nuclear_married <- as.character(data_frame_new$nuclear_married)
data_frame_new$nuclear_married <- revalue(data_frame_new$nuclear_married,c("1"="Yes"))
data_frame_new$nuclear_married <- revalue(data_frame_new$nuclear_married,c("0"="No"))
#Problem 5 - Replacing Column Values of nuclear_edlevel
# 1 = High school
# 2 = Bachelors
# 3 = masters
# 4 = Ph D
data_frame_new$nuclear_edlevel <- as.character(data_frame_new$nuclear_edlevel)
data_frame_new$nuclear_edlevel <- revalue(data_frame_new$nuclear_edlevel,c("1"="High School"))
data_frame_new$nuclear_edlevel <- revalue(data_frame_new$nuclear_edlevel,c("2"="Bachelors"))
data_frame_new$nuclear_edlevel <- revalue(data_frame_new$nuclear_edlevel,c("3"="Masters"))
data_frame_new$nuclear_edlevel <- revalue(data_frame_new$nuclear_edlevel,c("4"="Ph d"))
#Problem 6 - Displaying 100 Rows which shows change of values
head(data_frame_new,100)
## seq_no nuclear_id nuclear_docvis nuclear_hospvis nuclear_year
## 3 3 1 0 0 1986
## 6 6 2 2 0 1986
## 9 9 3 0 0 1986
## 16 16 6 3 1 1986
## 27 27 12 0 0 1986
## 33 33 14 0 0 1986
## 39 39 16 0 0 1986
## 42 42 17 2 0 1986
## 47 47 18 26 0 1986
## 50 50 19 2 0 1986
## 54 54 20 4 0 1986
## 58 58 21 0 0 1986
## 62 62 22 0 0 1986
## 68 68 25 2 0 1986
## 73 73 26 0 0 1986
## 78 78 28 0 0 1986
## 85 85 31 0 0 1986
## 89 89 32 2 0 1986
## 93 93 33 0 0 1986
## 97 97 34 2 0 1986
## 100 100 35 0 0 1986
## 113 113 45 4 0 1986
## 124 124 50 1 0 1986
## 128 128 51 0 2 1986
## 133 133 52 1 0 1986
## 138 138 53 2 0 1986
## 145 145 55 0 0 1986
## 150 150 56 0 0 1986
## 151 151 57 0 0 1986
## 155 155 58 0 0 1986
## 166 166 62 0 0 1986
## 171 171 64 0 0 1986
## 174 174 65 3 0 1986
## 178 178 66 8 0 1986
## 183 183 67 0 0 1986
## 197 197 73 0 0 1986
## 201 201 74 0 0 1986
## 209 209 76 3 0 1986
## 213 213 77 8 0 1986
## 219 219 79 14 0 1986
## 222 222 80 5 0 1986
## 231 231 83 18 0 1986
## 233 233 84 2 0 1986
## 236 236 85 10 0 1986
## 239 239 86 6 0 1986
## 244 244 87 6 0 1986
## 247 247 89 17 0 1986
## 254 254 92 0 0 1986
## 265 265 99 21 0 1986
## 268 268 100 0 0 1986
## 274 274 102 4 0 1986
## 278 278 104 0 0 1986
## 281 281 105 31 0 1986
## 286 286 106 4 0 1986
## 291 291 107 3 0 1986
## 303 303 112 0 0 1986
## 307 307 113 1 0 1986
## 312 312 115 2 0 1986
## 320 320 117 0 0 1986
## 323 323 118 0 0 1986
## 328 328 119 2 0 1986
## 333 333 120 4 0 1986
## 336 336 121 6 0 1986
## 342 342 126 1 0 1986
## 347 347 127 2 0 1986
## 351 351 128 0 0 1986
## 358 358 130 2 0 1986
## 363 363 131 25 0 1986
## 367 367 133 0 0 1986
## 371 371 134 4 0 1986
## 377 377 138 14 1 1986
## 382 382 139 13 1 1986
## 386 386 140 2 0 1986
## 391 391 141 1 0 1986
## 395 395 142 5 0 1986
## 400 400 143 1 2 1986
## 404 404 145 12 0 1986
## 408 408 146 2 0 1986
## 412 412 147 3 0 1986
## 418 418 149 0 0 1986
## 423 423 150 6 2 1986
## 428 428 151 41 0 1986
## 433 433 152 1 0 1986
## 438 438 153 3 1 1986
## 442 442 154 1 0 1986
## 447 447 156 28 2 1986
## 450 450 157 14 0 1986
## 454 454 161 0 0 1986
## 458 458 162 6 0 1986
## 470 470 169 16 0 1986
## 475 475 170 18 0 1986
## 480 480 171 0 0 1986
## 484 484 172 0 0 1986
## 486 486 173 5 0 1986
## 488 488 174 5 1 1986
## 493 493 177 2 0 1986
## 498 498 179 0 0 1986
## 502 502 180 0 0 1986
## 504 504 182 0 0 1986
## 508 508 187 1 0 1986
## nuclear_edlevel nuclear_age nuclear_outwork nuclear_female
## 3 Masters 56 0 0
## 6 High School 46 1 1
## 9 High School 60 1 1
## 16 High School 26 0 0
## 27 High School 43 0 1
## 33 Masters 38 0 0
## 39 High School 38 0 1
## 42 High School 58 0 0
## 47 High School 59 1 1
## 50 High School 39 0 0
## 54 Masters 37 1 1
## 58 Ph d 40 0 0
## 62 Ph d 40 0 1
## 68 Ph d 62 1 1
## 73 Ph d 34 0 0
## 78 High School 39 0 0
## 85 High School 39 0 0
## 89 Bachelors 39 0 1
## 93 High School 56 1 0
## 97 High School 64 1 1
## 100 Ph d 42 0 0
## 113 High School 27 1 1
## 124 High School 61 1 1
## 128 High School 31 0 0
## 133 High School 30 0 1
## 138 High School 49 0 0
## 145 High School 49 0 1
## 150 High School 40 0 0
## 151 High School 47 0 1
## 155 High School 52 0 0
## 166 High School 48 0 1
## 171 High School 34 0 0
## 174 High School 36 0 1
## 178 High School 51 0 1
## 183 Ph d 39 0 0
## 197 Ph d 36 0 0
## 201 Ph d 56 0 0
## 209 Ph d 33 0 0
## 213 Bachelors 42 0 1
## 219 High School 44 0 1
## 222 Bachelors 41 0 1
## 231 High School 27 0 0
## 233 High School 28 1 1
## 236 High School 64 1 1
## 239 High School 34 0 1
## 244 High School 56 1 1
## 247 High School 50 0 1
## 254 Masters 26 0 0
## 265 Ph d 28 0 1
## 268 Ph d 29 0 0
## 274 Ph d 42 0 0
## 278 High School 48 0 0
## 281 High School 46 0 1
## 286 High School 50 0 1
## 291 Masters 34 0 0
## 303 High School 46 0 0
## 307 High School 33 1 1
## 312 High School 62 1 1
## 320 High School 58 0 0
## 323 Masters 42 1 1
## 328 Masters 59 1 0
## 333 High School 55 1 1
## 336 Masters 64 1 0
## 342 High School 31 0 0
## 347 High School 27 1 1
## 351 Masters 41 0 0
## 358 High School 44 0 0
## 363 Bachelors 48 0 1
## 367 High School 44 1 1
## 371 High School 40 0 0
## 377 High School 45 0 0
## 382 High School 46 0 1
## 386 Bachelors 32 1 0
## 391 Masters 33 0 1
## 395 High School 44 0 0
## 400 High School 46 0 1
## 404 High School 49 0 0
## 408 High School 53 0 0
## 412 High School 48 0 1
## 418 High School 36 0 0
## 423 High School 51 0 0
## 428 High School 50 1 1
## 433 Masters 57 0 0
## 438 High School 57 0 1
## 442 Bachelors 28 0 0
## 447 High School 58 0 0
## 450 Bachelors 57 1 1
## 454 High School 26 0 0
## 458 High School 26 0 1
## 470 High School 59 1 0
## 475 High School 60 1 1
## 480 High School 53 0 0
## 484 High School 51 0 1
## 486 High School 48 0 0
## 488 Bachelors 43 1 1
## 493 High School 48 0 1
## 498 High School 50 0 0
## 502 Bachelors 49 0 1
## 504 High School 41 0 0
## 508 High School 38 0 0
## nuclear_married nuclear_kids nuclear_hhninc nuclear_educ nuclear_self
## 3 Yes 0 3.50000 15.0 0
## 6 Yes 0 3.50000 9.0 0
## 9 No 0 3.00000 11.0 0
## 16 Yes 1 3.00000 9.0 0
## 27 No 0 3.10000 9.0 0
## 33 No 1 3.00000 15.0 0
## 39 No 1 2.60000 10.5 0
## 42 Yes 0 2.35000 10.5 0
## 47 Yes 0 2.35000 10.5 0
## 50 No 1 2.50000 11.5 0
## 54 No 1 2.50000 14.5 0
## 58 No 1 3.60000 18.0 0
## 62 No 0 2.20000 18.0 0
## 68 No 0 0.74200 17.0 0
## 73 No 0 1.20000 18.0 1
## 78 No 0 4.00000 10.5 0
## 85 Yes 1 4.20000 10.5 1
## 89 Yes 1 4.20000 12.0 0
## 93 Yes 0 1.20000 9.0 0
## 97 Yes 0 1.20000 9.0 0
## 100 Yes 0 5.70000 18.0 0
## 113 Yes 1 2.50000 11.5 0
## 124 No 0 2.50000 9.0 0
## 128 Yes 1 4.00000 10.5 0
## 133 Yes 1 4.00000 10.5 0
## 138 No 0 2.04000 9.0 0
## 145 No 0 1.85000 11.0 0
## 150 Yes 1 2.34000 11.0 0
## 151 Yes 1 2.34000 10.5 0
## 155 No 0 2.42000 11.0 0
## 166 No 1 3.50000 9.0 0
## 171 Yes 1 4.00000 11.5 1
## 174 Yes 1 4.00000 10.5 0
## 178 No 0 1.30000 10.5 0
## 183 No 0 4.20000 18.0 0
## 197 No 0 5.00000 18.0 1
## 201 Yes 1 6.30000 18.0 0
## 209 Yes 1 4.80000 18.0 0
## 213 Yes 1 4.80000 12.0 0
## 219 No 1 1.70000 10.5 0
## 222 No 1 2.80000 12.0 0
## 231 Yes 1 2.10000 10.5 0
## 233 Yes 1 2.10000 10.5 0
## 236 Yes 0 2.94300 11.5 0
## 239 No 1 1.70000 9.0 0
## 244 No 0 2.40000 9.0 0
## 247 Yes 0 4.00000 11.0 0
## 254 Yes 0 2.30000 14.5 0
## 265 No 0 2.00000 18.0 1
## 268 No 0 2.50000 18.0 0
## 274 No 0 2.00000 18.0 0
## 278 Yes 0 4.50000 10.5 0
## 281 No 0 4.50000 10.5 0
## 286 No 0 4.90000 11.5 0
## 291 No 0 4.90000 13.0 0
## 303 Yes 1 3.72000 10.5 0
## 307 Yes 1 3.72000 10.5 0
## 312 Yes 0 4.29000 9.0 0
## 320 No 0 5.05000 10.5 0
## 323 No 1 2.40000 15.0 0
## 328 Yes 0 2.20000 15.0 0
## 333 Yes 0 2.20000 9.0 0
## 336 No 0 3.60000 14.5 0
## 342 Yes 1 4.00000 10.5 0
## 347 Yes 1 4.00000 9.0 0
## 351 Yes 0 5.20000 16.0 0
## 358 Yes 0 4.70000 11.5 0
## 363 Yes 0 4.70000 12.0 0
## 367 Yes 1 4.90000 11.0 0
## 371 Yes 1 5.40000 11.5 0
## 377 Yes 1 4.40000 11.0 0
## 382 Yes 1 4.40000 10.5 0
## 386 No 0 1.90000 12.0 1
## 391 No 0 1.28000 16.0 0
## 395 Yes 1 3.50000 10.5 0
## 400 Yes 1 3.50000 9.0 0
## 404 No 0 1.80000 10.5 0
## 408 Yes 0 3.40000 10.5 0
## 412 Yes 0 3.40000 9.0 0
## 418 No 1 2.35000 10.5 0
## 423 Yes 0 3.00000 9.0 0
## 428 Yes 0 3.00000 9.0 0
## 433 Yes 0 4.80000 14.0 0
## 438 Yes 0 4.80000 9.0 0
## 442 Yes 1 2.20000 12.0 0
## 447 Yes 0 2.67000 10.5 0
## 450 Yes 0 2.67000 12.0 0
## 454 No 0 3.50000 11.5 0
## 458 No 0 3.50000 11.5 0
## 470 Yes 0 2.80000 10.5 0
## 475 Yes 0 2.80000 11.0 0
## 480 Yes 0 3.50000 10.5 0
## 484 Yes 0 3.50000 9.0 0
## 486 Yes 1 4.10000 10.5 0
## 488 Yes 1 4.10000 12.0 0
## 493 Yes 0 3.40000 9.0 0
## 498 Yes 0 3.90000 11.0 0
## 502 Yes 0 3.90000 12.0 0
## 504 Yes 0 9.20000 11.5 1
## 508 Yes 1 3.71693 11.0 0
## nuclear_edlevel1 nuclear_edlevel2 nuclear_edlevel3 nuclear_edlevel4
## 3 0 0 1 0
## 6 1 0 0 0
## 9 1 0 0 0
## 16 1 0 0 0
## 27 1 0 0 0
## 33 0 0 1 0
## 39 1 0 0 0
## 42 1 0 0 0
## 47 1 0 0 0
## 50 1 0 0 0
## 54 0 0 1 0
## 58 0 0 0 1
## 62 0 0 0 1
## 68 0 0 0 1
## 73 0 0 0 1
## 78 1 0 0 0
## 85 1 0 0 0
## 89 0 1 0 0
## 93 1 0 0 0
## 97 1 0 0 0
## 100 0 0 0 1
## 113 1 0 0 0
## 124 1 0 0 0
## 128 1 0 0 0
## 133 1 0 0 0
## 138 1 0 0 0
## 145 1 0 0 0
## 150 1 0 0 0
## 151 1 0 0 0
## 155 1 0 0 0
## 166 1 0 0 0
## 171 1 0 0 0
## 174 1 0 0 0
## 178 1 0 0 0
## 183 0 0 0 1
## 197 0 0 0 1
## 201 0 0 0 1
## 209 0 0 0 1
## 213 0 1 0 0
## 219 1 0 0 0
## 222 0 1 0 0
## 231 1 0 0 0
## 233 1 0 0 0
## 236 1 0 0 0
## 239 1 0 0 0
## 244 1 0 0 0
## 247 1 0 0 0
## 254 0 0 1 0
## 265 0 0 0 1
## 268 0 0 0 1
## 274 0 0 0 1
## 278 1 0 0 0
## 281 1 0 0 0
## 286 1 0 0 0
## 291 0 0 1 0
## 303 1 0 0 0
## 307 1 0 0 0
## 312 1 0 0 0
## 320 1 0 0 0
## 323 0 0 1 0
## 328 0 0 1 0
## 333 1 0 0 0
## 336 0 0 1 0
## 342 1 0 0 0
## 347 1 0 0 0
## 351 0 0 1 0
## 358 1 0 0 0
## 363 0 1 0 0
## 367 1 0 0 0
## 371 1 0 0 0
## 377 1 0 0 0
## 382 1 0 0 0
## 386 0 1 0 0
## 391 0 0 1 0
## 395 1 0 0 0
## 400 1 0 0 0
## 404 1 0 0 0
## 408 1 0 0 0
## 412 1 0 0 0
## 418 1 0 0 0
## 423 1 0 0 0
## 428 1 0 0 0
## 433 0 0 1 0
## 438 1 0 0 0
## 442 0 1 0 0
## 447 1 0 0 0
## 450 0 1 0 0
## 454 1 0 0 0
## 458 1 0 0 0
## 470 1 0 0 0
## 475 1 0 0 0
## 480 1 0 0 0
## 484 1 0 0 0
## 486 1 0 0 0
## 488 0 1 0 0
## 493 1 0 0 0
## 498 1 0 0 0
## 502 0 1 0 0
## 504 1 0 0 0
## 508 1 0 0 0
#Problem 7 - input from the uploaded csv file in github
file_URL <- getURL("https://raw.githubusercontent.com/jey1987/Week2_Assignment/master/nuclear.csv")
input_dataset_git <- read.csv(text=file_URL)
You can also embed plots, for example:
Note that the echo = FALSE
parameter was added to the code chunk to prevent printing of the R code that generated the plot.