1.(a)
rainfall=read.table("rainfall_india (2).txt")
rainfall
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 1 1990 51 257 237 300 1078 1721 2631 2833 1901 1008 335 88
## 2 1991 88 83 138 296 509 1808 2556 2328 1153 609 355 131
## 3 1992 61 101 40 167 484 1210 2248 2803 1586 656 495 75
## 4 1993 27 165 182 278 664 1840 2807 2201 2120 890 292 220
## 5 1994 136 197 141 373 394 2153 3165 2653 1411 858 332 40
## 6 1995 274 135 192 192 860 1256 2768 2178 1701 841 393 59
## 7 1996 129 171 135 259 394 1882 2443 2661 1538 952 161 159
## 8 1997 106 38 146 399 428 1756 2674 2621 1655 753 574 601
## 9 1998 133 148 264 296 481 1464 2542 2416 2090 1155 478 108
## 10 1999 45 127 35 117 983 1707 2528 2066 1904 1238 168 40
1.(b)
names(rainfall)=c("Year","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(rainfall)=1990:1999
rainfall
## Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1990 1990 51 257 237 300 1078 1721 2631 2833 1901 1008 335 88
## 1991 1991 88 83 138 296 509 1808 2556 2328 1153 609 355 131
## 1992 1992 61 101 40 167 484 1210 2248 2803 1586 656 495 75
## 1993 1993 27 165 182 278 664 1840 2807 2201 2120 890 292 220
## 1994 1994 136 197 141 373 394 2153 3165 2653 1411 858 332 40
## 1995 1995 274 135 192 192 860 1256 2768 2178 1701 841 393 59
## 1996 1996 129 171 135 259 394 1882 2443 2661 1538 952 161 159
## 1997 1997 106 38 146 399 428 1756 2674 2621 1655 753 574 601
## 1998 1998 133 148 264 296 481 1464 2542 2416 2090 1155 478 108
## 1999 1999 45 127 35 117 983 1707 2528 2066 1904 1238 168 40
1.(c)
summary(rainfall)
## Year Jan Feb Mar Apr
## Min. :1990 Min. : 27.0 Min. : 38.0 Min. : 35.0 Min. :117.0
## 1st Qu.:1992 1st Qu.: 53.5 1st Qu.:107.5 1st Qu.:135.8 1st Qu.:208.8
## Median :1994 Median : 97.0 Median :141.5 Median :143.5 Median :287.0
## Mean :1994 Mean :105.0 Mean :142.2 Mean :151.0 Mean :267.7
## 3rd Qu.:1997 3rd Qu.:132.0 3rd Qu.:169.5 3rd Qu.:189.5 3rd Qu.:299.0
## Max. :1999 Max. :274.0 Max. :257.0 Max. :264.0 Max. :399.0
## May Jun Jul Aug Sep
## Min. : 394.0 Min. :1210 Min. :2248 Min. :2066 Min. :1153
## 1st Qu.: 441.2 1st Qu.:1525 1st Qu.:2532 1st Qu.:2233 1st Qu.:1550
## Median : 496.5 Median :1738 Median :2594 Median :2518 Median :1678
## Mean : 627.5 Mean :1680 Mean :2636 Mean :2476 Mean :1706
## 3rd Qu.: 811.0 3rd Qu.:1832 3rd Qu.:2744 3rd Qu.:2659 3rd Qu.:1903
## Max. :1078.0 Max. :2153 Max. :3165 Max. :2833 Max. :2120
## Oct Nov Dec
## Min. : 609 Min. :161.0 Min. : 40.0
## 1st Qu.: 775 1st Qu.:302.0 1st Qu.: 63.0
## Median : 874 Median :345.0 Median : 98.0
## Mean : 896 Mean :358.3 Mean :152.1
## 3rd Qu.: 994 3rd Qu.:456.8 3rd Qu.:152.0
## Max. :1238 Max. :574.0 Max. :601.0
1.(d)
rainfall_matrix=data.matrix(rainfall[,2:13])
rainfall_matrix
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1990 51 257 237 300 1078 1721 2631 2833 1901 1008 335 88
## 1991 88 83 138 296 509 1808 2556 2328 1153 609 355 131
## 1992 61 101 40 167 484 1210 2248 2803 1586 656 495 75
## 1993 27 165 182 278 664 1840 2807 2201 2120 890 292 220
## 1994 136 197 141 373 394 2153 3165 2653 1411 858 332 40
## 1995 274 135 192 192 860 1256 2768 2178 1701 841 393 59
## 1996 129 171 135 259 394 1882 2443 2661 1538 952 161 159
## 1997 106 38 146 399 428 1756 2674 2621 1655 753 574 601
## 1998 133 148 264 296 481 1464 2542 2416 2090 1155 478 108
## 1999 45 127 35 117 983 1707 2528 2066 1904 1238 168 40
cat("average of all rainfall data =", mean(rainfall_matrix))
## average of all rainfall data = 933.1333
cat("STD of all rainfall data =", sd(rainfall_matrix))
## STD of all rainfall data = 929.2183
cat("median of all rainfall data =", median(rainfall_matrix))
## median of all rainfall data = 479.5
cat("maximum of all rainfall data =", max(rainfall_matrix))
## maximum of all rainfall data = 3165
cat("minimum of all rainfall data =", min(rainfall_matrix))
## minimum of all rainfall data = 27
1.(e)
annual=rowSums(rainfall[,2:13])
annual
## 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
## 12440 10054 9926 11686 11853 10849 10884 11751 11575 10958
1.(f)
rainfall=cbind(rainfall,Annual=annual)
rainfall
## Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Annual
## 1990 1990 51 257 237 300 1078 1721 2631 2833 1901 1008 335 88 12440
## 1991 1991 88 83 138 296 509 1808 2556 2328 1153 609 355 131 10054
## 1992 1992 61 101 40 167 484 1210 2248 2803 1586 656 495 75 9926
## 1993 1993 27 165 182 278 664 1840 2807 2201 2120 890 292 220 11686
## 1994 1994 136 197 141 373 394 2153 3165 2653 1411 858 332 40 11853
## 1995 1995 274 135 192 192 860 1256 2768 2178 1701 841 393 59 10849
## 1996 1996 129 171 135 259 394 1882 2443 2661 1538 952 161 159 10884
## 1997 1997 106 38 146 399 428 1756 2674 2621 1655 753 574 601 11751
## 1998 1998 133 148 264 296 481 1464 2542 2416 2090 1155 478 108 11575
## 1999 1999 45 127 35 117 983 1707 2528 2066 1904 1238 168 40 10958
1.(g)
rainfall_1990 = rainfall[1,2:13]
logical_500 = rainfall_1990>500
logical_500
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1990 FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE
sum(rainfall_1990[logical_500])
## [1] 11172
1.(h)
avg_col = apply(rainfall[,2:14],2,mean)
avg_col
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct
## 105.0 142.2 151.0 267.7 627.5 1679.7 2636.2 2476.0 1705.9 896.0
## Nov Dec Annual
## 358.3 152.1 11197.6
1.(i)
std_col = apply(rainfall[,2:14],2,sd)
std_col
## Jan Feb Mar Apr May Jun Jul Aug
## 71.26476 61.38005 73.88730 88.02531 255.96452 290.98188 245.55325 274.66950
## Sep Oct Nov Dec Annual
## 304.44209 201.28697 133.96853 167.46904 807.07885
1.(j)
rainfall = rbind(rainfall,c("NA",avg_col),c("NA",std_col))
rownames(rainfall) = c(1990:1999,"Average","STD")
rainfall
## Year Jan Feb Mar
## 1990 1990 51 257 237
## 1991 1991 88 83 138
## 1992 1992 61 101 40
## 1993 1993 27 165 182
## 1994 1994 136 197 141
## 1995 1995 274 135 192
## 1996 1996 129 171 135
## 1997 1997 106 38 146
## 1998 1998 133 148 264
## 1999 1999 45 127 35
## Average NA 105 142.2 151
## STD NA 71.2647645521029 61.3800546685249 73.8873015702518
## Apr May Jun Jul
## 1990 300 1078 1721 2631
## 1991 296 509 1808 2556
## 1992 167 484 1210 2248
## 1993 278 664 1840 2807
## 1994 373 394 2153 3165
## 1995 192 860 1256 2768
## 1996 259 394 1882 2443
## 1997 399 428 1756 2674
## 1998 296 481 1464 2542
## 1999 117 983 1707 2528
## Average 267.7 627.5 1679.7 2636.2
## STD 88.0253120162352 255.964515769927 290.981881833828 245.553252880103
## Aug Sep Oct Nov
## 1990 2833 1901 1008 335
## 1991 2328 1153 609 355
## 1992 2803 1586 656 495
## 1993 2201 2120 890 292
## 1994 2653 1411 858 332
## 1995 2178 1701 841 393
## 1996 2661 1538 952 161
## 1997 2621 1655 753 574
## 1998 2416 2090 1155 478
## 1999 2066 1904 1238 168
## Average 2476 1705.9 896 358.3
## STD 274.66949836728 304.442094475926 201.286970379219 133.968528642613
## Dec Annual
## 1990 88 12440
## 1991 131 10054
## 1992 75 9926
## 1993 220 11686
## 1994 40 11853
## 1995 59 10849
## 1996 159 10884
## 1997 601 11751
## 1998 108 11575
## 1999 40 10958
## Average 152.1 11197.6
## STD 167.469035280489 807.078847862256
1.(k)
group = rep(0,12)
group
## [1] 0 0 0 0 0 0 0 0 0 0 0 0
group1 = which(rainfall_1990<100 | rainfall_1990>=2500)
group2 = which(rainfall_1990>=100 & rainfall_1990<2500)
group[group1]=1
group[group2]=2
group
## [1] 1 2 2 2 2 2 1 1 2 2 2 1