Introduction
In this article, I am going to demonstrate how to create a blank subset of a dataset for analysis of datasets so as to extract relevant data for creating a machine learning model. Extracting data from datasets or creating a subset of data is a part of a data pre-processing technique used in R to obtain clean and relevant data for accurate predictions to be made through a machine learning model.
For additional analysis of data in R, pre-processing of data is performed to create subsets of dataset. Several objects are available in R such as data frames, vectors, arrays and lists which can be used to create subsets of dataset and store the values of subset in them. There are different methods available to create subsets of vectors, arrays, data frames, and lists.
Performing analysis of data through pre-processing is one of the most important jobs in R. To create a subset of dataset in R several operators can be used which are as follows.
Different types of operators for creating subset of data
There are three kinds of operators which can be used to create different subsets which are as follows.
Currency operator ($)
We can create subsets of entire dataset by using the dollar operator. By mentioning dollar operator along with dataset name, we can select different variables of dataset at a time and create a subset of that variable alone as a vector. A vector object is formed when the dollar operator is used with a data frame.
Now we will discuss with some examples, on how to use dollar operator to create subset of datasets.
We will be using mtcars dataset to use different operators.
- > data = mtcars
- > data
- 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
- >
Now we will use dollar operator with mpg variable.
- > ds = data$mpg
- > ds
- [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
As we can see from the above output, using dollar operator with dataset and variable name, a subset of mtcars dataset is created. The subset has mpg variable and its observations. The subset is stored in a variable named ds.
- > df = data$cyl
- > df
- [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
As we can see from the above output, using dollar operator with dataset and variable name, a subset of mtcars dataset is created. The subset has cyl variable and its observations. The subset is stored in a variable named df.
- > da = data$disp
- > da
- [1] 160.0 160.0 108.0 258.0 360.0 225.0 360.0 146.7 140.8 167.6 167.6 275.8 275.8 275.8 472.0 460.0 440.0 78.7 75.7 71.1 120.1 318.0 304.0 350.0 400.0 79.0 120.3
- [28] 95.1 351.0 145.0 301.0 121.0
As we can see from the above output, using dollar operator with dataset and variable name a subset of mtcars dataset is created. The subset is having disp variable and its observations. The subset is stored in a variable named da.
- > dn = data$hp
- >dn
- [1] 110 110 93 110 175 105 245 62 95 123 123 180 180 180 205 215 230 66 52 65 97 150 150 245 175 66 91 113 264 175 335 109
As we can see from the above output, using dollar operator with dataset and variable name a subset of mtcars dataset is created. The subset is having hp variable and its observations. The subset is stored in a variable named dn.
Double square brackets operator ([[)
The double square brackets operator can be used to create subsets of data containing either all observations of single variable of a dataset or just a single observation of a particular variable. For creating a subset using the double‐square‐brackets operator, we can use index position of the observations as well as name of the particular variable. We can use double square brackets operator with data frame.
- > data[['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 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 15.0 21.4
As we can see above code snippet created a subset containing a single variable mpg. The argument is a variable name inside double square brackets operator.
- > data[[3]]
- [1] 160.0 160.0 108.0 258.0 360.0 225.0 360.0 146.7 140.8 167.6 167.6 275.8 275.8 275.8 472.0 460.0 440.0 78.7 75.7 71.1 120.1 318.0 304.0 350.0 400.0 79.0 120.3
- [28] 95.1 351.0 145.0 301.0 121.0
As we can see above code snippet created a subset containing a single variable disp. The argument is an index position of the variable named disp inside double square brackets operator.
- > data[[3]][2]
- [1] 160
- >
As we can see above code snippet created a subset containing a single observation of the variable disp. The arguments are an index positions of the rows and columns of that particular observation of the variable disp inside double square brackets operator.
Single square brackets operator ([)
The single square brackets operator can be used to create subsets of data containing all observations of specified number of multiple variables of a dataset. Now we will discuss with some examples, on how to use single square brackets operator to create subset of dataset as follows,
- > data[]
- 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

Join the conversation! Your thoughts help the community grow.