R Online Test
About the test
The R online test assesses knowledge of programming in the R language through a series of live coding tasks that focus on data analysis.
The assessment includes work-sample tasks such as:
- Generating statistical reports.
- Working with Vectors and DataFrames.
- Cleaning data to avoid incorrect records.
A good R developer needs a solid understanding of the R programming language and the ability to take advantage of its rich set of built-in functions to support statistical and data analysis.
Sample public questions
A company stores login data and passwords in two different containers:
- A DataFrame with the columns: id, name, and verified.
- A matrix where each row contains, in order: id and password.
The first column of any row in the matrix corresponds to the id column in the DataFrame. Elements on the same row/index in both the DataFrame and the matrix have the same id.
Implement the function loginTable that accepts these two containers and returns a new DataFrame that contains the following columns:
- The id column from the idNameVerified DataFrame.
- The name column from the idNameVerified DataFrame.
- A new column, called password that contains the password from the idPassword matrix.
For example, the following code snippet:
idNameVerified = data.frame(id = c(1, 2), name = c("JohnDoe", "AnnFranklin"), verified = c(TRUE, FALSE)) idPassword = matrix(c(1, 2, 987340123, 187031122), nrow=2, ncol=2) print(loginTable(idNameVerified,idPassword))
id name password 1 1 JohnDoe 987340123 2 2 AnnFranklin 187031122
Implement the function findRoots to find the roots of the quadratic equation: ax2 + bx + c = 0. The function should return a vector containing roots in any order. If the equation has only one solution, the function should return that solution as both elements of the vector. The equation will always have at least one solution.
The roots of the quadratic equation can be found with the following formula:
For example, findRoots(2, 10, 8) should return a vector containing (-1, -4) or (-4, -1) as the roots of the equation 2x2 + 10x + 8 = 0 are -1 and -4.
The data science team in a telecom company needs an R function that will load a CSV file into a DataFrame and format it so that it can be used with already existing R code.
The loadData function accepts a path to a file or a textConnection that points to a CSV file. The CSV file doesn't contain headers and has two columns, the first is a decimal number and the second one is a string. The first column represents an id and the second column represents a color. Some rows in the CSV file contain "0" instead of "yellow" in the second column.
The function should return a DataFrame after:
- loading data from the CSV into the DataFrame.
- replacing all "0" in the second column with "yellow".
- renaming the first column to "id" and the second column to "color".
For example, the following code:
text = "0.0,blue\n1.0,0\n2.0,red" print(loadData(text))
id color 1 0 blue 2 1 yellow 3 2 red
For companies: premium questions
Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.
What others say
Simple, straight-forward technical testing
TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.
Jan Opperman, Grindrod Bank
Solve all your skill testing needs
150+ Pre-made tests
From web development and database administration to project management and customer support. See all pre-made tests.
Mix questions for different skills or even custom questions in one test. See an example.
How TestDome works
Choose a pre-made test
or create a custom test
Invite candidates via
email, URL, or your ATS
a test remotely
Sort candidates and
get individual reports