Accessing and Manipulating Data

There are different commands you can use to access data in your R objects, and their use differs slightly between object classes.

                            # To access an item in a list, just indicate its place within the vector through [ ].

character_vector <- c("Days", "Months", "Year")
character_vector[2]
## [1] "Months"
# If you are unsure about the location of given information in a list, use the which() function.
which(character_vector == "Months")
 ##[1] 2

Most of the time we work with dataframes. Dataframes have two dimensions – rows and columns. When using [ ] to access values in dataframes, R has an in-built ordering of placing rows before columns i.e. dataframe[row,columm].

# So when you want to access data on "Arkansas" (4th row) on "Murder" (1st column), you would write:

USArrests[4,1]
 ## [1] 8.8

# If you are interested in all columns for Arkansas just leave the space behind the comma blank.

USArrests[4,]
 ##
State Murder Assault Urban Population Rape
Arkansas 8.8 190 50 19.5














# Similarly, if you are interested in murder rates for all states just leave the space in front of the comma blank.

USArrests[,1]

## [1] 13.2 10.0 8.1 8.8 9.0 7.9 3.3 5.9 15.4 17.4 5.3 2.6 10.4 7.2 2.2 6.0 9.7 15.4 2.1 11.3 4.4 12.1 2.7 16.1 9.0 6.0

[27] 4.3 12.2 2.1 7.4 11.4 11.1 13.0 0.8 7.3 6.6 4.9 6.3 3.4 14.4 3.8 13.2 12.7 3.2 2.2 8.5 4.0 5.7 2.6 6.8









There are alternative ways to get to the same information.

                            # To access only the murder rates in the USArrests dataframe, you can call the column name:

USArrests["Murder"]
 ##
State Murder
Alabama 13.2
Alaska 10.0
Arizona 8.1
Arkansas 8.8
California 9.0
Colorado 7.9
Connecticut 3.3
Delaware 5.9
Florida 15.4
Georgia 17.4
Hawaii 5.3
Idaho 2.6
Illinois 10.4
Indiana 7.2
Iowa 2.2
Kansas 6.0
Kentucky 9.7
Louisiana 15.4
Maine 2.1
Maryland 11.3
Massachusetts 4.4
Michigan 12.1
Minnesota 2.7
Mississippi 16.1
Missouri 9.0
Montana 6.0
Nebraska 4.3
Nevada 12.2
New Hampshire 2.1
New Jersey 7.4
New Mexico 11.4
New York 11.1
North Carolina 13.0
North Dakota 0.8
Ohio 7.3
Oklahoma 6.6
Oregan 4.9
Pennsylvania 6.3
Rhode Island 3.4
South Carolina 14.4
South Dakota 3.8
Tennessee 13.2
Texas 12.7
Utah 3.2
Vermont 2.2
Virginia 8.5
Washington 4.0
West Virginia 5.7
Wisconsin 2.6
Wyoming 6.8









# Alternatively, to access the data in a column in a dataframe we can also use the $ character:

USArrests$Murder

## [1] 13.2 10.0 8.1 8.8 9.0 7.9 3.3 5.9 15.4 17.4 5.3 2.6 10.4 7.2 2.2 6.0 9.7 15.4 2.1 11.3 4.4 12.1 2.7 16.1 9.0 6.0

[27] 4.3 12.2 2.1 7.4 11.4 11.1 13.0 0.8 7.3 6.6 4.9 6.3 3.4 14.4 3.8 13.2 12.7 3.2 2.2 8.5 4.0 5.7 2.6 6.8








You can combine the above $ and [ ] approaches.

                            # For instance, to again get the murder rates in Arkansas, you can write:

USArrests$Murder[4]
 ## [1] 8.8

Sometimes we are only interested in subsets of the data, we then create objects from larger dataframes.

                            # For instance, we want to create a new dataframe that only has the murder rate data.

murder_rate <- USArrests["Murder"]


# Or we want to exclude murder rates from our dataset. Then we can simply write [,-1] which will eliminate the first column.

other_crimes <- USArrests[,-1]
print(other_crimes)
 ##
State Assault Urban Population Rape
Alabama 236 58 21.2
Alaska 263 48 44.5
Arizona 294 80 31.0
Arkansas 190 50 19.5
California 276 91 40.6
Colorado 204 78 38.7
Connecticut 110 77 11.1
Delaware 238 72 15.8
Florida 335 80 31.9
Georgia 211 60 25.8
Hawaii 46 83 20.2
Idaho 120 54 14.2
Illinois 249 83 24.0
Indiana 113 65 21.0
Iowa 56 57 11.3
Kansas 115 66 18.0
Kentucky 109 52 16.3
Louisiana 249 66 22.2
Maine 83 51 7.8
Maryland 300 67 27.8
Massachusetts 149 85 16.3
Michigan 255 74 35.1
Minnesota 72 66 14.9
Mississippi 259 44 17.1
Missouri 178 70 28.2
Montana 109 53 16.4
Nebraska 102 62 16.5
Nevada 252 81 46.0
New Hampshire 57 56 9.5
New Jersey 159 89 18.8
New Mexico 285 70 32.1
New York 254 86 26.1
North Carolina 337 45 16.1
North Dakota 45 44 7.3
Ohio 120 75 21.4
Oklahoma 151 68 20.0
Oregan 159 67 29.3
Pennsylvania 106 72 14.9
Rhode Island 174 87 8.3
South Carolina 279 48 22.5
South Dakota 86 45 12.8
Tennessee 188 59 26.9
Texas 201 80 25.5
Utah 120 80 22.9
Vermont 48 32 11.2
Virginia 156 63 20.7
Washington 145 73 26.2
West Virginia 81 39 9.3
Wisconsin 53 66 10.8
Wyoming 161 60 15.6

In order to combine datasets, we use two functions. The function rbind() glues two datasets together by their rows, while cbind() connects them by their columns.

                            # So if we want to merge the two datasets again, we can do:

full_dataset <- cbind(murder_rate,other_crimes)
print(full_dataset)
 ##
State Murder Assault Urban Population Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1 294 80 31.0
Arkansas 8.8 190 50 19.5
California 9.0 276 91 40.6
Colorado 7.9 204 78 38.7
Connecticut 3.3 110 77 11.1
Delaware 5.9 238 72 15.8
Florida 15.4 335 80 31.9
Georgia 17.4 211 60 25.8
Hawaii 5.3 46 83 20.2
Idaho 2.6 120 54 14.2
Illinois 10.4 249 83 24.0
Indiana 7.2 113 65 21.0
Iowa 2.2 56 57 11.3
Kansas 6.0 115 66 18.0
Kentucky 9.7 109 52 16.3
Louisiana 15.4 249 66 22.2
Maine 2.1 83 51 7.8
Maryland 11.3 300 67 27.8
Massachusetts 4.4 149 85 16.3
Michigan 12.1 255 74 35.1
Minnesota 2.7 72 66 14.9
Mississippi 16.1 259 44 17.1
Missouri 9.0 178 70 28.2
Montana 6.0 109 53 16.4
Nebraska 4.3 102 62 16.5
Nevada 12.2 252 81 46.0
New Hampshire 2.1 57 56 9.5
New Jersey 7.4 159 89 18.8
New Mexico 11.4 285 70 32.1
New York 11.1 254 86 26.1
North Carolina 13.0 337 45 16.1
North Dakota 0.8 45 44 7.3
Ohio 7.3 120 75 21.4
Oklahoma 6.6 151 68 20.0
Oregan 4.9 159 67 29.3
Pennsylvania 6.3 106 72 14.9
Rhode Island 3.4 174 87 8.3
South Carolina 14.4 279 48 22.5
South Dakota 3.8 86 45 12.8
Tennessee 13.2 188 59 26.9
Texas 12.7 201 80 25.5
Utah 3.2 120 80 22.9
Vermont 2.2 48 32 11.2
Virginia 8.5 156 63 20.7
Washington 4.0 145 73 26.2
West Virginia 5.7 81 39 9.3
Wisconsin 2.6 53 66 10.8
Wyoming 6.8 161 60 15.6

access_time Last update January 7, 2021.

chat networking coding local-network layer menu folders diagram panel route line-chart compass search flow data-sharing search-1 message target translator candidates studying chat networking coding local-network layer menu folders diagram panel route line-chart compass search flow data-sharing search-1 message target translator candidates studying