Accessing Dataframe Objects Exercises

May 20, 2016

(This article was first published on R-exercises, and kindly contributed to R-bloggers)

access dataframe
The attach() function alters the R environment search path by making dataframe variables into global variables. If incorrectly scripted, the attach() function might create symantic errors. To prevent this possibility, detach() is needed to reset the dataframe objects in the search path.

The transform() function allows for transformation of dataframe objects. The within() function creates a new dataframe, when modifying dataframe variables.

Answers to the exercises are available here.

Exercise 1
attach() – Attach a set of R Objects to Search Path

Required Dataframe:
buildingSurvey <- data.frame(name=c("bldg1", "bldg2", "bldg3",
"bldg4", "bldg5", "bldg6"),
floors=c(5, 10, 10, 11, 8, 12),

Use the attach() function to make the variables in "buildingSurvey" independently searchable. Then, use “summary(location)” to create a summary of the “floors” variable.

Exercise 2
Using the “summary()” function, find the median “efficiency” value of “buildingSurvey“, using objects in the R environment search path.

Exercise 3
Once attached, in order to change the dataframe variable, use the assignment operator “<<-“. For example: variable1 <<- log(variable1)

Use “<<-” to divide the “efficiency” category by 100.

Exercise 4
detach() – Detach Objects from the Search Path

After detaching, modified attach() dataframes are restored to their pre-attach() values. and the R environment search path is restored. detach() is needed to prevent symantec errors in programming.

Therefore, use the detach() function to restore the search paths of the dataframe, “buildingSurvey“.

Exercise 5
The “transform()” function performs a transformation on a dataframe object.

Use transform() to replace the “efficiency” column’s values with the starting values divided by 100.

Exercise 6
First, re-attach the dataframe, “buildingSurvey“.

Then, use transform() to evaluate the log of the “efficiency” variable. Set the result to the dataframe, “efficiencyL“. The column names of the dataframe “efficiencyL” should be “X_data“, and “efficiencyLog“.

Exercise 7
Next, use transform() to round the “efficiencyLog” variable of “efficiencyL” to one decimal place.

Exercise 8
The within() function creates a modified copy of a dataframe.

For this exercise, use within() to append the “buildingSurvey” dataframe with a variable called, “efficiency10“. The new variable contains “efficiency” multiplied by 10.

Exercise 9
Use the within() function to set efficiency[4] to “85“. This will also create a copy of “buildingSurvey“. Setting a new dataframe isn’t required for this exercise.

Exercise 10
For the final exercise, restore the R environment search path.

To leave a comment for the author, please follow the link and comment on their blog: R-exercises. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)