R Exercises for Beginners 1-10 – Solutions
1.
- Get the length of the lynx dataset
- Create a vector of ordered index numbers (hint: order, increasing)
- Get 2 vectors (index positions and absolute values) with all observations smaller than 500 (hint: which, subset)
1 2 3 4 | length (lynx) order (lynx) which (lynx < 500) subset (lynx, lynx < 500) |
2.
- Get a Histogram of the lynx dataset
- Adjust the bin size to have 7 bins
- Remove the labs, change to 2 alternating colors
- Add a subtitle and a 2 line title
1 2 3 | hist (lynx, col= c ( "salmon2" , "darkblue" ), breaks=7, sub= "r-tutorials.com" , xlab= "" , ylab= "" , main= "Exercise Question\nHistogram" ) |
3.
- Extract Sepal.Length from the iris dataset and call it mysepal
- Get the square root, summation, max and min of mysepal
- Get the summary of mysepal and compare the results with 3b
1 2 3 | mysepal = iris$Sepal.Length sum (mysepal); mean (mysepal); median (mysepal); min (mysepal); max (mysepal) summary (mysepal) |
4.
- Install and load library “dplyr”
- Call help for function arrange of “dplyr”
- Deinstall “dplyr”
1 2 3 4 | install.packages ( "dplyr" ) library (dplyr) ?arrange remove.packages ( "dplyr" ) |
5.
x = c(3,6,9)
- Repeat x 4 times, but there should be a 1 at the end and beginning
- Call the vector of 5a myvec and extract the 5th value (hint: dplyr, nth)
1 2 3 | myvec = c (1, rep (x, times=4), 1) library (dplyr) nth (myvec, 5) |
6.
- Get a subset of mtcars with transmission type: manual, and call it mysubset
- Extract the first 2 variables of the first 2 observations
1 2 | mysubset = subset (mtcars, am == 1) mysubset[ c (1,2), c (1,2)] |
7.
- Get the first 9 observations of “mtcars”
- Get the mtcars dataset ordered according to the increasing amount of “carb” (hint for 7b: library dplyr, arrange)
1 2 3 | head (mtcars, 9) library (dplyr) arrange (mtcars, carb) |
8.
- Get the means of the first 2 columns in the “iris” dataset by Species
- Create vector x which is the alternation of 1 and 2, 75 times, check the length
- Attach x to iris as dataframe “irisx”
- Get the sums of the columns of columns 1,3,4 in the “irisx” dataset by the new x
1 2 3 4 | by (iris[,1:2], iris$Species, colMeans) x = rep (1:2, times=75); length (x) irisx = data.frame (iris, x); head (irisx) by (irisx[, c (1,3,4)], irisx$x, colSums) |
9.
- How many observations in “lynx” are smaller than 500?
- How many observations in “iris” have a Sepal.Length greater or equal 5?
1 2 | sum (lynx < 500) sum (iris$Sepal.Length >= 5) |
10.
- Plot a simple xy plot with “iris” Sepal.Length vs. Sepal.Width
- Enlarge the scale limits: y from 0 – 5, x from 3 – 9
- Add a text of your choosing, in red, at the lower part of the plot
1 2 3 4 | attach (iris) plot (Sepal.Length, Sepal.Width) plot (Sepal.Length, Sepal.Width, ylim= c (0,5), xlim= c (3,9)) text (6,1, "r-tutorials.com" , col= "red" , cex=2, lwd=2) |