#How to view a dataset
mtcars
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
print(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
View(mtcars)
dim(mtcars)
## [1] 32 11
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
head(mtcars,3)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
tail(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.7 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.5 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.5 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.6 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.6 1 1 4 2
head(mtcars[c("mpg","hp","wt")])
## mpg hp wt
## Mazda RX4 21.0 110 2.620
## Mazda RX4 Wag 21.0 110 2.875
## Datsun 710 22.8 93 2.320
## Hornet 4 Drive 21.4 110 3.215
## Hornet Sportabout 18.7 175 3.440
## Valiant 18.1 105 3.460
myvars <- c("mpg", "hp", "wt")
head(mtcars[myvars])
## mpg hp wt
## Mazda RX4 21.0 110 2.620
## Mazda RX4 Wag 21.0 110 2.875
## Datsun 710 22.8 93 2.320
## Hornet 4 Drive 21.4 110 3.215
## Hornet Sportabout 18.7 175 3.440
## Valiant 18.1 105 3.460
mtcars[1]
## mpg
## Mazda RX4 21.0
## Mazda RX4 Wag 21.0
## Datsun 710 22.8
## Hornet 4 Drive 21.4
## Hornet Sportabout 18.7
## Valiant 18.1
## Duster 360 14.3
## Merc 240D 24.4
## Merc 230 22.8
## Merc 280 19.2
## Merc 280C 17.8
## Merc 450SE 16.4
## Merc 450SL 17.3
## Merc 450SLC 15.2
## Cadillac Fleetwood 10.4
## Lincoln Continental 10.4
## Chrysler Imperial 14.7
## Fiat 128 32.4
## Honda Civic 30.4
## Toyota Corolla 33.9
## Toyota Corona 21.5
## Dodge Challenger 15.5
## AMC Javelin 15.2
## Camaro Z28 13.3
## Pontiac Firebird 19.2
## Fiat X1-9 27.3
## Porsche 914-2 26.0
## Lotus Europa 30.4
## Ford Pantera L 15.8
## Ferrari Dino 19.7
## Maserati Bora 15.0
## Volvo 142E 21.4
mtcars[1,]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4
mtcars[1,2]
## [1] 6
mtcars[2]
## cyl
## Mazda RX4 6
## Mazda RX4 Wag 6
## Datsun 710 4
## Hornet 4 Drive 6
## Hornet Sportabout 8
## Valiant 6
## Duster 360 8
## Merc 240D 4
## Merc 230 4
## Merc 280 6
## Merc 280C 6
## Merc 450SE 8
## Merc 450SL 8
## Merc 450SLC 8
## Cadillac Fleetwood 8
## Lincoln Continental 8
## Chrysler Imperial 8
## Fiat 128 4
## Honda Civic 4
## Toyota Corolla 4
## Toyota Corona 4
## Dodge Challenger 8
## AMC Javelin 8
## Camaro Z28 8
## Pontiac Firebird 8
## Fiat X1-9 4
## Porsche 914-2 4
## Lotus Europa 4
## Ford Pantera L 8
## Ferrari Dino 6
## Maserati Bora 8
## Volvo 142E 4
class(mtcars[2])
## [1] "data.frame"
class(mtcars[,2])
## [1] "numeric"
mtcars[1:6,]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
mtcars[,1:6]
## mpg cyl disp hp drat wt
## Mazda RX4 21.0 6 160.0 110 3.90 2.620
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875
## Datsun 710 22.8 4 108.0 93 3.85 2.320
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440
## Valiant 18.1 6 225.0 105 2.76 3.460
## Duster 360 14.3 8 360.0 245 3.21 3.570
## Merc 240D 24.4 4 146.7 62 3.69 3.190
## Merc 230 22.8 4 140.8 95 3.92 3.150
## Merc 280 19.2 6 167.6 123 3.92 3.440
## Merc 280C 17.8 6 167.6 123 3.92 3.440
## Merc 450SE 16.4 8 275.8 180 3.07 4.070
## Merc 450SL 17.3 8 275.8 180 3.07 3.730
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345
## Fiat 128 32.4 4 78.7 66 4.08 2.200
## Honda Civic 30.4 4 75.7 52 4.93 1.615
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835
## Toyota Corona 21.5 4 120.1 97 3.70 2.465
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520
## AMC Javelin 15.2 8 304.0 150 3.15 3.435
## Camaro Z28 13.3 8 350.0 245 3.73 3.840
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140
## Lotus Europa 30.4 4 95.1 113 3.77 1.513
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770
## Maserati Bora 15.0 8 301.0 335 3.54 3.570
## Volvo 142E 21.4 4 121.0 109 4.11 2.780
mtcars[,c(1,4,6)]
## mpg hp wt
## Mazda RX4 21.0 110 2.620
## Mazda RX4 Wag 21.0 110 2.875
## Datsun 710 22.8 93 2.320
## Hornet 4 Drive 21.4 110 3.215
## Hornet Sportabout 18.7 175 3.440
## Valiant 18.1 105 3.460
## Duster 360 14.3 245 3.570
## Merc 240D 24.4 62 3.190
## Merc 230 22.8 95 3.150
## Merc 280 19.2 123 3.440
## Merc 280C 17.8 123 3.440
## Merc 450SE 16.4 180 4.070
## Merc 450SL 17.3 180 3.730
## Merc 450SLC 15.2 180 3.780
## Cadillac Fleetwood 10.4 205 5.250
## Lincoln Continental 10.4 215 5.424
## Chrysler Imperial 14.7 230 5.345
## Fiat 128 32.4 66 2.200
## Honda Civic 30.4 52 1.615
## Toyota Corolla 33.9 65 1.835
## Toyota Corona 21.5 97 2.465
## Dodge Challenger 15.5 150 3.520
## AMC Javelin 15.2 150 3.435
## Camaro Z28 13.3 245 3.840
## Pontiac Firebird 19.2 175 3.845
## Fiat X1-9 27.3 66 1.935
## Porsche 914-2 26.0 91 2.140
## Lotus Europa 30.4 113 1.513
## Ford Pantera L 15.8 264 3.170
## Ferrari Dino 19.7 175 2.770
## Maserati Bora 15.0 335 3.570
## Volvo 142E 21.4 109 2.780
mtcars[c(1,4,6),]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
mtcars[mtcars$mpg>20,]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
mtcars[mtcars$mpg>20 & mtcars$mpg<30,]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
#Whats the difference ie the class
mtcars$mpg
## [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4
## [16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7
## [31] 15.0 21.4
mtcars[[1]]
## [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4
## [16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7
## [31] 15.0 21.4
mtcars[1]
## mpg
## Mazda RX4 21.0
## Mazda RX4 Wag 21.0
## Datsun 710 22.8
## Hornet 4 Drive 21.4
## Hornet Sportabout 18.7
## Valiant 18.1
## Duster 360 14.3
## Merc 240D 24.4
## Merc 230 22.8
## Merc 280 19.2
## Merc 280C 17.8
## Merc 450SE 16.4
## Merc 450SL 17.3
## Merc 450SLC 15.2
## Cadillac Fleetwood 10.4
## Lincoln Continental 10.4
## Chrysler Imperial 14.7
## Fiat 128 32.4
## Honda Civic 30.4
## Toyota Corolla 33.9
## Toyota Corona 21.5
## Dodge Challenger 15.5
## AMC Javelin 15.2
## Camaro Z28 13.3
## Pontiac Firebird 19.2
## Fiat X1-9 27.3
## Porsche 914-2 26.0
## Lotus Europa 30.4
## Ford Pantera L 15.8
## Ferrari Dino 19.7
## Maserati Bora 15.0
## Volvo 142E 21.4
mtcars['mpg']
## mpg
## Mazda RX4 21.0
## Mazda RX4 Wag 21.0
## Datsun 710 22.8
## Hornet 4 Drive 21.4
## Hornet Sportabout 18.7
## Valiant 18.1
## Duster 360 14.3
## Merc 240D 24.4
## Merc 230 22.8
## Merc 280 19.2
## Merc 280C 17.8
## Merc 450SE 16.4
## Merc 450SL 17.3
## Merc 450SLC 15.2
## Cadillac Fleetwood 10.4
## Lincoln Continental 10.4
## Chrysler Imperial 14.7
## Fiat 128 32.4
## Honda Civic 30.4
## Toyota Corolla 33.9
## Toyota Corona 21.5
## Dodge Challenger 15.5
## AMC Javelin 15.2
## Camaro Z28 13.3
## Pontiac Firebird 19.2
## Fiat X1-9 27.3
## Porsche 914-2 26.0
## Lotus Europa 30.4
## Ford Pantera L 15.8
## Ferrari Dino 19.7
## Maserati Bora 15.0
## Volvo 142E 21.4
# Attach detach alternative with
# with(data, expression)
# with is a general purpose wrapper to let you use any function as if it had a data argumen
# data For the default with method this may be an environment, a list, a data frame, or an integer
# example applying a t-test to a data frame mydata with(mydata, t.test(y ~ group))
# R provides numerous functions for the handling of data.
# Similar functions to with and within are, e.g., attach & detach or transform
with(mtcars, mean(mpg))
## [1] 20.09062
#what??? i can use mean(mtcars$mpg)
# this is obviously annoying
mod = lm(mtcars$mpg ~ mtcars$cyl + mtcars$disp + mtcars$wt)
# this is nicer
mod = lm(mpg ~ cyl + disp + wt, data = mtcars)
# However, if (for some strange reason) we wanted to find the mean of cyl + disp + wt,
# there is a problem because mean doesn't have a data argument like lm does.
# This is the issue that with addresses:
# without with(), we would be stuck here:
z1 = sum(mtcars$cyl + mtcars$disp + mtcars$wt)
z1
## [1] 7684.052
# using with(), we can clean this up:
z2 = with(mtcars, sum(cyl + disp + wt))
z2
## [1] 7684.052
#within() function can add a calculated column
# with(data,expression)
# within(data,expression)
# data frame creation
df2 <- data.frame(x=1:5,y=2:6)
df2
## x y
## 1 1 2
## 2 2 3
## 3 3 4
## 4 4 5
## 5 5 6
# with function in R
with(df2, {z <- x + y; z; df} )
## function (x, df1, df2, ncp, log = FALSE)
## {
## if (missing(ncp))
## .Call(C_df, x, df1, df2, log)
## else .Call(C_dnf, x, df1, df2, ncp, log)
## }
## <bytecode: 0x00000000158d9948>
## <environment: namespace:stats>
#If you didnot understand the above
with(df2,x+y)#display to screen
## [1] 3 5 7 9 11
df2#Lets check if something has happened to the dataframe
## x y
## 1 1 2
## 2 2 3
## 3 3 4
## 4 4 5
## 5 5 6
with(df2,z <- x+y)#Instead of display to screen store into variable z
#z #This is where the output should have gone but the scope is outside the function
with(df2,{z <- x+y;z})#See that d is available only inside the with function
## [1] 3 5 7 9 11
#So if you want to use it to add a column to df then
df3<-df2#lets create a copy of df2 object
df3#has two columns x,y
## x y
## 1 1 2
## 2 2 3
## 3 3 4
## 4 4 5
## 5 5 6
df3$z<-with(df2,x+y)#This is how we add a third column using with
df3#look maa...df3 changed
## x y z
## 1 1 2 3
## 2 2 3 5
## 3 3 4 7
## 4 4 5 9
## 5 5 6 11
df3<-df2#lets reset
df4<-within(df3,z<-x+y)#
#the stack
BOD
## Time demand
## 1 1 8.3
## 2 2 10.3
## 3 3 19.0
## 4 4 16.0
## 5 5 15.6
## 6 7 19.8
stack(BOD)
## values ind
## 1 1.0 Time
## 2 2.0 Time
## 3 3.0 Time
## 4 4.0 Time
## 5 5.0 Time
## 6 7.0 Time
## 7 8.3 demand
## 8 10.3 demand
## 9 19.0 demand
## 10 16.0 demand
## 11 15.6 demand
## 12 19.8 demand
unstack(BOD)
## res
## 8.3 1
## 10.3 2
## 15.6 5
## 16 4
## 19 3
## 19.8 7
PlantGrowth
## weight group
## 1 4.17 ctrl
## 2 5.58 ctrl
## 3 5.18 ctrl
## 4 6.11 ctrl
## 5 4.50 ctrl
## 6 4.61 ctrl
## 7 5.17 ctrl
## 8 4.53 ctrl
## 9 5.33 ctrl
## 10 5.14 ctrl
## 11 4.81 trt1
## 12 4.17 trt1
## 13 4.41 trt1
## 14 3.59 trt1
## 15 5.87 trt1
## 16 3.83 trt1
## 17 6.03 trt1
## 18 4.89 trt1
## 19 4.32 trt1
## 20 4.69 trt1
## 21 6.31 trt2
## 22 5.12 trt2
## 23 5.54 trt2
## 24 5.50 trt2
## 25 5.37 trt2
## 26 5.29 trt2
## 27 4.92 trt2
## 28 6.15 trt2
## 29 5.80 trt2
## 30 5.26 trt2
stack(PlantGrowth)
## Warning in stack.data.frame(PlantGrowth): non-vector columns will be ignored
## values ind
## 1 4.17 weight
## 2 5.58 weight
## 3 5.18 weight
## 4 6.11 weight
## 5 4.50 weight
## 6 4.61 weight
## 7 5.17 weight
## 8 4.53 weight
## 9 5.33 weight
## 10 5.14 weight
## 11 4.81 weight
## 12 4.17 weight
## 13 4.41 weight
## 14 3.59 weight
## 15 5.87 weight
## 16 3.83 weight
## 17 6.03 weight
## 18 4.89 weight
## 19 4.32 weight
## 20 4.69 weight
## 21 6.31 weight
## 22 5.12 weight
## 23 5.54 weight
## 24 5.50 weight
## 25 5.37 weight
## 26 5.29 weight
## 27 4.92 weight
## 28 6.15 weight
## 29 5.80 weight
## 30 5.26 weight
unstack(PlantGrowth)#To sepearte columns
## ctrl trt1 trt2
## 1 4.17 4.81 6.31
## 2 5.58 4.17 5.12
## 3 5.18 4.41 5.54
## 4 6.11 3.59 5.50
## 5 4.50 5.87 5.37
## 6 4.61 3.83 5.29
## 7 5.17 6.03 4.92
## 8 4.53 4.89 6.15
## 9 5.33 4.32 5.80
## 10 5.14 4.69 5.26
#Select and save
mtdf<-mtcars[1:6,]
mtdf#useful for performing operations on a subset without touching the original dataset
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
#using subset function subset(dataset,condition)
sunflower <- subset(chickwts, chickwts$feed == "sunflower")
sunflower # Lists elements in the subset
## weight feed
## 37 423 sunflower
## 38 340 sunflower
## 39 392 sunflower
## 40 339 sunflower
## 41 341 sunflower
## 42 226 sunflower
## 43 320 sunflower
## 44 295 sunflower
## 45 334 sunflower
## 46 322 sunflower
## 47 297 sunflower
## 48 318 sunflower
sunflower <- subset(chickwts, chickwts$weight > 300)
sunflower # Lists elements in the subset
## weight feed
## 11 309 linseed
## 26 327 soybean
## 27 329 soybean
## 31 316 soybean
## 37 423 sunflower
## 38 340 sunflower
## 39 392 sunflower
## 40 339 sunflower
## 41 341 sunflower
## 43 320 sunflower
## 45 334 sunflower
## 46 322 sunflower
## 48 318 sunflower
## 49 325 meatmeal
## 51 303 meatmeal
## 52 315 meatmeal
## 53 380 meatmeal
## 58 344 meatmeal
## 60 368 casein
## 61 390 casein
## 62 379 casein
## 64 404 casein
## 65 318 casein
## 66 352 casein
## 67 359 casein
## 71 332 casein
#Dealing with outliers
boxplot(sunflower$weight)

boxplot.stats(sunflower$weight)
## $stats
## [1] 303.0 320.0 336.5 368.0 423.0
##
## $n
## [1] 26
##
## $conf
## [1] 321.6266 351.3734
##
## $out
## numeric(0)
boxplot.stats(sunflower$weight)$out
## numeric(0)
#IQR(x, na.rm = FALSE, type = 7)#Where type 1 to 9 are different algorithms to calculate
# Calculating lower inner fence
fivenum(sunflower$weight)[2] - 1.5*IQR(sunflower$weight, type = 2)
## [1] 248
# Calculating upper inner fence
fivenum(sunflower$weight)[4] + 1.5*IQR(sunflower$weight, type = 2)
## [1] 440
fivenum(sunflower$weight)
## [1] 303.0 320.0 336.5 368.0 423.0
#The minimum value, 226, is smaller than the calculated lower inner fence of 258,
#and the maximum value, 423 is larger than the upper inner fence, 390.
#This means that there must be at least one outlier on either end.
sunflower_lower <- subset(sunflower, sunflower$weight < 258)
sunflower_lower # Lists all elements below lower inner fence
## [1] weight feed
## <0 rows> (or 0-length row.names)
sunflower_upper <- subset(sunflower, sunflower$weight > 390)
sunflower_upper # Lists all elements above upper inner fence
## weight feed
## 37 423 sunflower
## 39 392 sunflower
## 64 404 casein
#Descriptive statistics
summary(mtcars)
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
summary(mtdf)
## mpg cyl disp hp drat
## Min. :18.10 Min. :4 Min. :108.0 Min. : 93.0 Min. :2.760
## 1st Qu.:19.27 1st Qu.:6 1st Qu.:160.0 1st Qu.:106.2 1st Qu.:3.098
## Median :21.00 Median :6 Median :192.5 Median :110.0 Median :3.500
## Mean :20.50 Mean :6 Mean :211.8 Mean :117.2 Mean :3.440
## 3rd Qu.:21.30 3rd Qu.:6 3rd Qu.:249.8 3rd Qu.:110.0 3rd Qu.:3.888
## Max. :22.80 Max. :8 Max. :360.0 Max. :175.0 Max. :3.900
## wt qsec vs am gear
## Min. :2.320 Min. :16.46 Min. :0.0 Min. :0.0 Min. :3.0
## 1st Qu.:2.684 1st Qu.:17.02 1st Qu.:0.0 1st Qu.:0.0 1st Qu.:3.0
## Median :3.045 Median :17.82 Median :0.5 Median :0.5 Median :3.5
## Mean :2.988 Mean :18.13 Mean :0.5 Mean :0.5 Mean :3.5
## 3rd Qu.:3.384 3rd Qu.:19.23 3rd Qu.:1.0 3rd Qu.:1.0 3rd Qu.:4.0
## Max. :3.460 Max. :20.22 Max. :1.0 Max. :1.0 Max. :4.0
## carb
## Min. :1.000
## 1st Qu.:1.000
## Median :1.500
## Mean :2.167
## 3rd Qu.:3.500
## Max. :4.000
mean(mtcars)#Error
## Warning in mean.default(mtcars): argument is not numeric or logical: returning
## NA
## [1] NA
mean(mtcars$mpg)
## [1] 20.09062
min(mtcars$mpg)
## [1] 10.4
max(mtcars$mpg)
## [1] 33.9
table(iris$Species)
##
## setosa versicolor virginica
## 50 50 50
table(mtcars$gear)
##
## 3 4 5
## 15 12 5
table(mtcars$gear,mtcars$cyl)
##
## 4 6 8
## 3 1 2 12
## 4 8 4 0
## 5 2 1 2
median(mtcars$mpg)#no mode is there
## [1] 19.2
length(mtcars$mpg)#for count
## [1] 32
sd(mtcars$mpg)
## [1] 6.026948
var(mtcars$mpg)
## [1] 36.3241
quantile(mtcars$mpg)
## 0% 25% 50% 75% 100%
## 10.400 15.425 19.200 22.800 33.900
mad(mtcars$mpg)
## [1] 5.41149
#kurtosis and skewness is not there m is mean s is sd and n is count
#skew <- sum((x-m)^3/s^3)/n
#kurt <- sum((x-m)^4/s^4)/n - 3
sum(mtcars$wt)
## [1] 102.952
#Descriptives on multiple columns or rows at a time
#Syntax apply(dataset,marginie row=1,col=2,function without ())
apply(mtcars,2,sum)#for rows substitute 1 instead of 2
## mpg cyl disp hp drat wt qsec vs
## 642.900 198.000 7383.100 4694.000 115.090 102.952 571.160 14.000
## am gear carb
## 13.000 118.000 90.000
#Reshaping the data stack unstack transform transpose
#stack and unstack
#Stacking vectors concatenates multiple vectors into a single vector along with a factor
#indicating where each observation originated using stack() function
#Syntax stack(dataframe)
#Example
a<-c(3,4,5)
b<-c(6,7,8)
df1<-data.frame(a,b)
df1#this is unstacked
## a b
## 1 3 6
## 2 4 7
## 3 5 8
#Lets stack
stack(df1)#first is values then the group ie column name
## values ind
## 1 3 a
## 2 4 a
## 3 5 a
## 4 6 b
## 5 7 b
## 6 8 b
stdf1<-stack(df1)
class(stdf1)#dataframe output from dataframe input
## [1] "data.frame"
#Unstacking reverses this operation using unstack() function
v<-c(3,4,5,6,7,8)
g<-c("a","a","a","b","b","b")
df2<-data.frame(v,g)
df2#this is stacked
## v g
## 1 3 a
## 2 4 a
## 3 5 a
## 4 6 b
## 5 7 b
## 6 8 b
#Lets Unstack
unstack(df2)#Any doubts
## a b
## 1 3 6
## 2 4 7
## 3 5 8
usdf2<-unstack(df2)
class(usdf2)#dataframe output from dataframe input
## [1] "data.frame"
df3<-data.frame(g,v)
df3#this is not a useful stack
## g v
## 1 a 3
## 2 a 4
## 3 a 5
## 4 b 6
## 5 b 7
## 6 b 8
unstack(df3)# Therefore always first column numbers and second column group
## res
## 3 a
## 4 a
## 5 a
## 6 b
## 7 b
## 8 b
usdf3<-unstack(df3)
class(usdf3)#input and output are both dataframe but the format is not good
## [1] "data.frame"
#Observe the difference in structure between unstacked df2 and df3
str(usdf2)
## 'data.frame': 3 obs. of 2 variables:
## $ a: num 3 4 5
## $ b: num 6 7 8
str(usdf3)
## 'data.frame': 6 obs. of 1 variable:
## $ res: chr "a" "a" "a" "b" ...
#use numbers on first column and group type in second column
str(df2)
## 'data.frame': 6 obs. of 2 variables:
## $ v: num 3 4 5 6 7 8
## $ g: chr "a" "a" "a" "b" ...
str(df3)
## 'data.frame': 6 obs. of 2 variables:
## $ g: chr "a" "a" "a" "b" ...
## $ v: num 3 4 5 6 7 8
head(PlantGrowth)#good example for stacked
## weight group
## 1 4.17 ctrl
## 2 5.58 ctrl
## 3 5.18 ctrl
## 4 6.11 ctrl
## 5 4.50 ctrl
## 6 4.61 ctrl
class(PlantGrowth)#dataframe input
## [1] "data.frame"
#lets unstack
unstack(PlantGrowth)
## ctrl trt1 trt2
## 1 4.17 4.81 6.31
## 2 5.58 4.17 5.12
## 3 5.18 4.41 5.54
## 4 6.11 3.59 5.50
## 5 4.50 5.87 5.37
## 6 4.61 3.83 5.29
## 7 5.17 6.03 4.92
## 8 4.53 4.89 6.15
## 9 5.33 4.32 5.80
## 10 5.14 4.69 5.26
usdf4<-unstack(PlantGrowth)
class(usdf4)
## [1] "data.frame"
head(chickwts)#good example for stacked
## weight feed
## 1 179 horsebean
## 2 160 horsebean
## 3 136 horsebean
## 4 227 horsebean
## 5 217 horsebean
## 6 168 horsebean
class(chickwts)#dataframe ie good input
## [1] "data.frame"
#lets unstack
unstack(chickwts)#oops
## $casein
## [1] 368 390 379 260 404 318 352 359 216 222 283 332
##
## $horsebean
## [1] 179 160 136 227 217 168 108 124 143 140
##
## $linseed
## [1] 309 229 181 141 260 203 148 169 213 257 244 271
##
## $meatmeal
## [1] 325 257 303 315 380 153 263 242 206 344 258
##
## $soybean
## [1] 243 230 248 327 329 250 193 271 316 267 199 171 158 248
##
## $sunflower
## [1] 423 340 392 339 341 226 320 295 334 322 297 318
usdf4<-unstack(chickwts)
class(usdf4)#Be careful
## [1] "list"
#Why list
table(chickwts$feed)
##
## casein horsebean linseed meatmeal soybean sunflower
## 12 10 12 11 14 12
table(PlantGrowth$group)#Equal length should be there
##
## ctrl trt1 trt2
## 10 10 10
#transform converts object to a dataframe useful for converting a matrix else useless
tdf1<-transform(df1)
identical(tdf1,df1)
## [1] TRUE
tstdf1<-transform(stdf1)
identical(tstdf1,stdf1)
## [1] TRUE
tdf2<-transform(df2)
identical(tdf2,df2)
## [1] TRUE
tusdf2<-transform(usdf2)
identical(tusdf2,usdf2)
## [1] TRUE
tdf3<-transform(df3)
identical(tdf3,df3)
## [1] TRUE
tusdf3<-transform(usdf3)
#transpose will rotate the dataframe ie rows to columns and columns to rows and output a matrix
df1
## a b
## 1 3 6
## 2 4 7
## 3 5 8
t(df1)
## [,1] [,2] [,3]
## a 3 4 5
## b 6 7 8
class(t(df1))
## [1] "matrix" "array"
stdf1
## values ind
## 1 3 a
## 2 4 a
## 3 5 a
## 4 6 b
## 5 7 b
## 6 8 b
t(stdf1)
## [,1] [,2] [,3] [,4] [,5] [,6]
## values "3" "4" "5" "6" "7" "8"
## ind "a" "a" "a" "b" "b" "b"
class(t(stdf1))
## [1] "matrix" "array"
t(df2)
## [,1] [,2] [,3] [,4] [,5] [,6]
## v "3" "4" "5" "6" "7" "8"
## g "a" "a" "a" "b" "b" "b"
t(usdf2)
## [,1] [,2] [,3]
## a 3 4 5
## b 6 7 8
t(df3)
## [,1] [,2] [,3] [,4] [,5] [,6]
## g "a" "a" "a" "b" "b" "b"
## v "3" "4" "5" "6" "7" "8"
t(usdf3)
## 3 4 5 6 7 8
## res "a" "a" "a" "b" "b" "b"
#reshape is out of scope to cover
#Group wise descriptive statistics for dataset containing group type in one column and value in other column
#by(quantitative_variable, factor variable, function)
by(mtcars$mpg,mtcars$gear,mean)#1 output class is by
## mtcars$gear: 3
## [1] 16.10667
## ------------------------------------------------------------
## mtcars$gear: 4
## [1] 24.53333
## ------------------------------------------------------------
## mtcars$gear: 5
## [1] 21.38
by(mtcars$mpg,list(mtcars$gear),mean)#2 output class is by
## : 3
## [1] 16.10667
## ------------------------------------------------------------
## : 4
## [1] 24.53333
## ------------------------------------------------------------
## : 5
## [1] 21.38
#Dataframe output for grouping
#aggregate(quantitative_variable, list(“Group Heading” = grouping_elements), function)
#aggregate(mtcars$mpg,mtcars$gear,mean)#take 1 and modify error
aggregate(mtcars$mpg,list(mtcars$gear),mean)#take 2 and modify
## Group.1 x
## 1 3 16.10667
## 2 4 24.53333
## 3 5 21.38000
#let us change the heading
aggregate(PlantGrowth$weight, list("Type of Group" = PlantGrowth$group), mean)
## Type of Group x
## 1 ctrl 5.032
## 2 trt1 4.661
## 3 trt2 5.526
aggregate(PlantGrowth$weight, list("Type of Group" = PlantGrowth$group), summary)
## Type of Group x.Min. x.1st Qu. x.Median x.Mean x.3rd Qu. x.Max.
## 1 ctrl 4.1700 4.5500 5.1550 5.0320 5.2925 6.1100
## 2 trt1 3.5900 4.2075 4.5500 4.6610 4.8700 6.0300
## 3 trt2 4.9200 5.2675 5.4350 5.5260 5.7350 6.3100
#Group wise statistics for unstacked dataset
print(PlantGrowth)#this is a stacked dataset and we can use by or aggregate
## weight group
## 1 4.17 ctrl
## 2 5.58 ctrl
## 3 5.18 ctrl
## 4 6.11 ctrl
## 5 4.50 ctrl
## 6 4.61 ctrl
## 7 5.17 ctrl
## 8 4.53 ctrl
## 9 5.33 ctrl
## 10 5.14 ctrl
## 11 4.81 trt1
## 12 4.17 trt1
## 13 4.41 trt1
## 14 3.59 trt1
## 15 5.87 trt1
## 16 3.83 trt1
## 17 6.03 trt1
## 18 4.89 trt1
## 19 4.32 trt1
## 20 4.69 trt1
## 21 6.31 trt2
## 22 5.12 trt2
## 23 5.54 trt2
## 24 5.50 trt2
## 25 5.37 trt2
## 26 5.29 trt2
## 27 4.92 trt2
## 28 6.15 trt2
## 29 5.80 trt2
## 30 5.26 trt2
upg<-unstack(PlantGrowth)
print(upg)#This is unstacked dataset two methods(1)convert to stack and use by or aggregate (2)without converting, use apply
## ctrl trt1 trt2
## 1 4.17 4.81 6.31
## 2 5.58 4.17 5.12
## 3 5.18 4.41 5.54
## 4 6.11 3.59 5.50
## 5 4.50 5.87 5.37
## 6 4.61 3.83 5.29
## 7 5.17 6.03 4.92
## 8 4.53 4.89 6.15
## 9 5.33 4.32 5.80
## 10 5.14 4.69 5.26
#Method 1 convert to stack and use by or aggregate
stupg<-stack(upg)#method 1 stack then use by or aggregate
by(stupg$values,stupg$ind,mean)#if you want by class output
## stupg$ind: ctrl
## [1] 5.032
## ------------------------------------------------------------
## stupg$ind: trt1
## [1] 4.661
## ------------------------------------------------------------
## stupg$ind: trt2
## [1] 5.526
aggregate(stupg$values,list(stupg$ind),mean)#if you want a dataframe class output
## Group.1 x
## 1 ctrl 5.032
## 2 trt1 4.661
## 3 trt2 5.526
#Method 2 without converting, use apply
apply(upg,2,mean)
## ctrl trt1 trt2
## 5.032 4.661 5.526
#Exercise: Using InsectSprays, perform the stacking, unstack, group after checking for the required conditions
InsectSprays
## count spray
## 1 10 A
## 2 7 A
## 3 20 A
## 4 14 A
## 5 14 A
## 6 12 A
## 7 10 A
## 8 23 A
## 9 17 A
## 10 20 A
## 11 14 A
## 12 13 A
## 13 11 B
## 14 17 B
## 15 21 B
## 16 11 B
## 17 16 B
## 18 14 B
## 19 17 B
## 20 17 B
## 21 19 B
## 22 21 B
## 23 7 B
## 24 13 B
## 25 0 C
## 26 1 C
## 27 7 C
## 28 2 C
## 29 3 C
## 30 1 C
## 31 2 C
## 32 1 C
## 33 3 C
## 34 0 C
## 35 1 C
## 36 4 C
## 37 3 D
## 38 5 D
## 39 12 D
## 40 6 D
## 41 4 D
## 42 3 D
## 43 5 D
## 44 5 D
## 45 5 D
## 46 5 D
## 47 2 D
## 48 4 D
## 49 3 E
## 50 5 E
## 51 3 E
## 52 5 E
## 53 3 E
## 54 6 E
## 55 1 E
## 56 1 E
## 57 3 E
## 58 2 E
## 59 6 E
## 60 4 E
## 61 11 F
## 62 9 F
## 63 15 F
## 64 22 F
## 65 15 F
## 66 16 F
## 67 13 F
## 68 10 F
## 69 26 F
## 70 26 F
## 71 24 F
## 72 13 F
class(InsectSprays)#Condition 1 dataframe
## [1] "data.frame"
table(InsectSprays$spray)# Condition 2 equal length
##
## A B C D E F
## 12 12 12 12 12 12
#Quiz : Find the average mileage for 4 gear cars
x = c(1,3,5,7,9)
y = c(2,3,5,7,11,13)
x+1
## [1] 2 4 6 8 10
y*2
## [1] 4 6 10 14 22 26
length(x)
## [1] 5
length(y)
## [1] 6
z<-c(5,3,7,2,8)
sort(z)
## [1] 2 3 5 7 8
sort(z,T)
## [1] 8 7 5 3 2
order(z)
## [1] 4 2 1 3 5
x + y
## Warning in x + y: longer object length is not a multiple of shorter object
## length
## [1] 3 6 10 14 20 14
sum(x>5) #Boolean
## [1] 2
sum(x[x>5])
## [1] 16
sum(x>5 | x< 3) # read | as ’or’, & and ’and’
## [1] 3
sum(y>3 & y< 13)
## [1] 3
sum(y>3 & x< 13)#Boolean
## Warning in y > 3 & x < 13: longer object length is not a multiple of shorter
## object length
## [1] 4
y[3]
## [1] 5
y[-3]
## [1] 2 3 7 11 13
y[x]
## [1] 2 5 11 NA NA
y[y>=7]
## [1] 7 11 13
#Please check functions for generating random data one example is given here
rnorm(10,5,2)
## [1] 5.272598 5.143040 6.734750 1.728973 5.646332 8.406300 5.569295 7.037701
## [9] 1.660113 6.400191
#Create 15 random numbers that are normally distributed with mean 10 and s.d. 5.
#Find a 1-sample t-test at the 95% level to check average of 3 # zscores``