Data Analysis and Visualization of Data Frames in R

Matthew Reardon

Introduction

Data Frames in R

Just like any coding languages that exist, R has its strenghts and weaknesses as a language. One of the main strenghts that differentiates R from other coding langauges is it’s usefulness in data analysis and data visualization. I will be using a data set on trees to show R’s data analysis and data visualization capabilites.

Load Data Frame

The first thing we must do is load the data frame we want to use

#|label: load_data_frame

ufc <- read.csv("/Users/matthewreardon/R files/ufc.csv") 
print(ufc)
    plot tree species dbh.cm height.m
1      2    1      DF   39.0     20.5
2      2    2      WL   48.0     33.0
3      3    2      GF   52.0     30.0
4      3    5      WC   36.0     20.7
5      3    8      WC   38.0     22.5
6      4    1      WC   46.0     18.0
7      4    2      DF   25.0     17.0
8      5    2      DF   54.9     29.3
9      5    4      GF   51.8     29.0
10     6    1      DF   40.9     26.0
11     6    2      WC   29.0     22.0
12     6    3      WC   29.4     32.0
13     6    4      WC   68.5     26.0
14     6    6      WC   63.0     33.0
15     7    2      WC   46.6     27.5
16     7    4      WC   55.3     30.0
17     8    1      GF   46.2     31.3
18     9    1      WC   27.1     27.0
19     9    2      GF   40.0     27.0
20     9    3      GF   36.3     28.0
21    10    1      DF   42.0     33.0
22    10    4      WC   37.5     29.8
23    11    3      GF   38.3     27.1
24    11    4      GF   22.3     21.5
25    11    5      DF   22.5     22.6
26    12    1      WL   21.8     18.0
27    12    2      WC   15.1     15.5
28    13    1      WC   23.0     20.0
29    13    2      WC   32.0     22.5
30    13    3      WC   52.5     29.0
31    16    1      GF   10.5      5.0
32    16    2      WC   75.0     32.0
33    16    3      WC   89.5     35.0
34    16    4      GF   30.0     25.0
35    16    5      GF   32.0     31.0
36    16    6      GF   29.5     27.0
37    16    7      WC   42.5     22.5
38    16   10      WC   83.0     35.0
39    17    1      WC   39.0     24.0
40    18    1      WL   25.0     28.0
41    18    5      WL   22.5     26.0
42    19    1      WL   21.0     22.5
43    19    5      WL   12.5     14.0
44    20    1      GF   24.0     19.0
45    20    2      GF   27.5     23.0
46    20    3      DF   32.5     26.5
47    20    4      GF   11.5      8.0
48    21    1      GF   36.5     31.5
49    21    4      DF   28.2     25.0
50    21    5      GF   19.8     16.0
51    21    6      WC   21.5     17.5
52    22    1      WC   38.9     30.0
53    22    2      WL   44.3     37.5
54    22    3      GF   26.3     28.0
55    22    5      DF   34.3     23.5
56    22    7      WC   26.2     21.0
57    22    8      DF   40.5     22.0
58    22    9      WC   19.9     17.0
59    23    2      WC   14.6     11.0
60    23    5      GF   39.8     36.5
61    24    6      WL   40.1     37.5
62    25    1      GF   23.0     13.0
63    26    1      GF   37.1     21.0
64    27    1      DF   21.5     19.0
65    27    2      GF   14.8     15.0
66    27    6      WC   68.6     28.0
67    27    7      WC   13.9     12.5
68    28    1      GF   18.5     19.0
69    28    2      GF   14.2     16.0
70    28    3      WC   48.7     25.0
71    29    1      GF   52.7     30.0
72    29    2      GF   32.2     26.0
73    30    1      WC   64.0     27.0
74    30    2      GF   58.5     34.0
75    30    3      WC   24.3     13.0
76    31    1      GF   29.6     32.0
77    31    2      WC   43.0     29.0
78    31    3      DF   52.2     31.0
79    32    1      WC   27.2     23.0
80    32    2      WC   34.0     23.0
81    32    3      WC   40.4     26.0
82    33    1      WC   11.1      9.5
83    33    3      GF   20.7     25.0
84    33    6      DF   28.3     31.0
85    34    1      WL   49.6     23.0
86    34    2      WC   44.9     25.0
87    34    5      GF   42.5     30.0
88    35    1      GF   71.9     32.0
89    35    2      WC   56.5     27.5
90    35    3      WC   31.1     25.0
91    36    1      WC   42.5     27.0
92    36    2      GF   35.2     27.0
93    36    3      GF   42.1     30.0
94    37    3      DF   14.0     20.0
95    38    2      WC   17.7     19.0
96    39    1      WC   33.5     20.0
97    39    4      WC   40.5     22.0
98    40    1      WL   29.5     28.0
99    40    2      WC   69.0     30.0
100   40    5      WC   46.5     26.0
101   41    1      WL   42.5     29.0
102   41    2      WC   30.5     21.0
103   41    6      WC   30.5     25.0
104   41    7      WC   37.8     28.0
105   42    1      WC   49.7     30.0
106   42    2      WC   37.7     28.0
107   42    3      DF   32.5     25.0
108   42    4      WC   26.2     23.0
109   43    1      WC   31.0     26.0
110   43    2      WC   38.5     27.0
111   43    3      WC   94.0     36.0
112   43    4      WC  101.5     39.0
113   43    6      DF   35.0     34.0
114   44    1      WC   31.5     24.5
115   44    2      GF   59.0     31.2
116   43    6      DF   35.0     34.0
117   44    1      WC   31.5     24.5
118   44    2      GF   59.0     31.2
119   44    4      WC   60.2     32.0
120   45    1      GF   18.0     22.0
121   45    2      WC   47.1     30.0
122   45    3      WC   63.7     28.5
123   45    4      DF   63.8     34.0
124   46    2      WC   12.5     10.0
125   46    3      WC   15.5     11.5
126   47    1      GF   45.5     31.5
127   47    2      WC   60.0     33.0
128   48    1      WC   20.0     17.5
129   48    2      WL   32.0     30.0
130   48    3      DF   42.0     30.5
131   48    4      GF   25.5     22.5
132   49    1      WL   27.9     15.0
133   51    3      WC   52.8     31.5
134   52    1      WC   23.4     18.0
135   52    2      GF   47.7     31.0
136   52    3      GF   61.3     25.0
137   53    1      WC   37.7     24.2
138   53    2      DF   16.5     17.2
139   54    1      GF   39.7     25.3
140   54    2      WC   80.4     32.0
141   55    2      DF   99.8     42.0
142   55    6      WC   45.6     32.5
143   56    1      WC   38.7     27.0
144   56    3      DF   50.2     37.0
145   56    4      GF   68.3     39.0
146   57    1      GF   42.2     32.8
147   57    2      WC   34.4     25.7
148   57    3      GF   18.5     20.2
149   58    1      WC   54.3     30.5
150   59    1      GF   86.1     40.2
151   59    3      WC   51.9     32.5
152   60    1      WC   25.8     22.8
153   60    2      WC   40.0     21.1
154   60    3      WC   37.4     20.0
155   61    2      GF   10.4     16.5
156   61    4      GF   24.8     19.0
157   62    2      GF   33.5     27.5
158   63    2      GF   25.0     23.5
159   64    4      WC   14.1     14.0
160   64    6      WC   15.7     17.5
161   64    7      WC   25.0     19.0
162   65    1      GF   19.7     16.5
163   65    3      GF   37.2     27.0
164   65    4      GF   30.0     28.0
165   66    1      WL   47.0     30.0
166   67    1      GF   19.1     14.5
167   67    5      GF   46.3     30.0
168   67    6      WL   57.5      3.4
169   68    1      GF   78.0     42.0
170   68    2      WC   58.0     33.5
171   68    3      WC   28.9     20.5
172   69    1      WC   49.6     27.0
173   69    2      WC   52.8     28.5
174   69    3      WC   44.5     27.0
175   70    1      WC   15.8     17.0
176   70    2      GF   35.7     34.5
177   70    5      DF   25.3     27.5
178   71    1      WC   14.8     14.5
179   71    2      GF   30.5     23.5
180   71    3      WC   12.2     14.0
181   72    1      WC   38.2     23.5
182   72    2      GF   27.5     23.5
183   72    3      GF   14.6     23.5
184   73    1      WC   54.5     26.5
185   73    4      WL   18.2     19.0
186   74    1      GF   32.2     23.0
187   74    2      GF   35.0     23.0
188   75    1      DF   50.2     30.0
189   75    2      WC   10.8     10.0
190   76    1      WC   14.4     10.0
191   76    2      WC   22.6     14.0
192   77    1      WC   40.5     18.0
193   78    1      WC   43.7     27.0
194   78    2      GF   64.4     42.0
195   79    1      DF   29.0     23.0
196   79    2      DF   52.5     27.0
197   80    1      GF   24.8     24.0
198   80    3      WC   46.6     25.0
199   80    5      DF   28.3     21.5
200   81    1      WC   15.3     13.0
201   81    2      GF   58.8     25.0
202   81    3      WC   59.5     23.0
203   82    1      GF   65.6     35.0
204   82    2      GF   10.5      9.5
205   82    3      GF   19.6     18.5
206   83    1      GF   44.1     30.0
207   83    2      GF   24.5     22.0
208   83    3      GF   24.8     21.0
209   84    1      GF   50.6     32.0
210   84    2      GF   45.3     30.0
211   84    3      GF   17.1     12.0
212   85    1      WC   69.0     40.0
213   85    2      DF   71.6     35.0
214   85    7      GF   41.5     28.0
215   86    1      WC   45.5     33.5
216   86    2      WC   72.5     35.5
217   87    1      WC   44.3     20.5
218   87    2      GF   15.5     14.5
219   87    3      GF   14.0      9.0
220   88    1      WC   47.3     30.0
221   88    2      WC   43.3     29.5
222   88    3      WL   70.8     42.5
223   89    1      GF   79.8     31.0
224   89    2      GF   22.0     18.0
225   90    1      DF   44.0     32.0
226   90    2      DF   55.8     26.0
227   90    3      DF   60.7     26.0
228   91    1      GF   12.1     10.5
229   91    2      GF   30.0     17.0
230   91    3      DF   47.6     25.5
231   92    1      WC   30.9     17.0
232   92    3      GF   33.0     29.0
233   92    5      DF   51.5     29.5
234   93    1      WC   50.8     28.5
235   94    1      WC   53.0     23.0
236   96    1      DF   43.0     18.5
237   97    1      GF   46.0     28.0
238   97    2      WC   59.4     33.3
239   97    3      GF   33.8     24.1
240   98    1      WC   20.1     16.1
241   98    6      DF   26.2     14.5
242   98    7      GF   10.8     14.8
243   99    1      WC   51.2     27.0
244   99    2      GF   43.5     26.4
245   99    3      WC   37.1     28.8
246  100    1      GF   42.1     32.4
247  100    2      DF   78.5     37.0
248  100    3      WC   10.1      9.0
249  101    1      DF   49.4     23.6
250  101    2      GF   60.7     30.0
251  101    3      DF   46.3     30.0
252  102    4      DF   55.1     18.0
253  103    1      WC   65.4     35.5
254  103    2      GF   23.9     23.2
255  104    1      WC   28.4     19.3
256  104    4      DF   19.7     11.0
257  105    1      WC   28.2     20.5
258  105    2      WC   22.2     18.7
259  105    3      WC   11.9     11.5
260  106    1      GF   24.5     23.8
261  106    2      GF   31.4     27.0
262  106    3      WC   12.0     12.8
263  107    1      WC   15.9     12.5
264  107    2      WC   27.0     17.0
265  107    3      WC   27.7     20.5
266  108    1      DF   43.8     17.9
267  108    2      GF   39.7     19.5
268  109    1      GF   47.5     27.0
269  109    2      GF   49.8     24.5
270  110    2      WC   42.3     30.5
271  110    3      WC   48.8     24.5
272  110    4      GF   81.2     47.0
273  111    1      WC   45.0     28.0
274  111    2      GF   56.5     30.0
275  111    3      WC   53.0     23.5
276  112    1      GF   52.2     35.0
277  112    4      DF   34.3     25.5
278  112    6      WC   34.1     24.5
279  113    1      DF   23.9     21.0
280  113    4      DF   41.3     26.0
281  114    1      WL   19.7     18.0
282  114    2      DF   15.0     16.5
283  114    3      DF   43.2     24.0
284  116    1      WL   26.8     22.0
285  118    1      WL   28.6     29.5
286  118    2      WL   30.2     29.5
287  119    2      WC   31.4     28.0
288  119    3      WC   26.6     19.0
289  120    1      WC   34.1     25.0
290  121    1      GF   33.0     17.0
291  121    3      DF   26.7     15.0
292  121    4      GF   23.4     20.0
293  122    1      GF   31.2     19.0
294  122    2      GF   35.2     24.5
295  122    3      GF   25.7     18.0
296  122    4      GF   16.3      9.0
297  123    1      GF   40.1     19.5
298  123    2      WC   17.6     16.5
299  124    1      GF   42.5     28.0
300  124    2      GF   31.4     23.0
301  124    3      DF   27.1     21.0
302  125    1      DF   40.0     21.0
303  125    3      DF   51.3     31.0
304  126    1      GF   28.4     23.0
305  126    2      GF   39.3     25.0
306  126    3      WC   33.7     17.0
307  128    1      WC   21.3     15.5
308  128    4      DF   20.1     16.0
309  129    1      GF   45.4     25.0
310  129    2      WC   29.7     20.0
311  131    1      WC   22.8     12.0
312  131    2      GF   29.2     23.0
313  131    3      GF   38.3     24.0
314  132    1      WC   17.4     12.0
315  132    2      GF   23.9     17.5
316  135    1      GF   18.9     16.0
317  135    2      GF   20.5     13.0
318  135    3      GF   21.0     18.5
319  136    1      WC   55.5     27.5
320  136    2      GF   16.4     13.0
321  136    3      DF   56.5     37.0
322  137    1      WC   37.3     20.5
323  138    1      WC   20.7     14.0
324  139    1      WC   44.6     28.5
325  139    3      WC   36.7     25.0
326  139    7      GF   44.5     27.0
327  141    1      DF   31.6     20.5
328  142    1      DF   28.3     24.0
329  142    3      DF   52.2     27.5
330  142    4      DF   22.5     20.5
331  143    1      GF   28.0     21.0
332  143    2      GF   33.0     20.5
333  143    7      WC   47.8     20.5
334  144    1      GF   10.2     16.0
335  144    2      DF   31.5     22.0
336  144    4      WL   26.5     25.0

Data Analysis

Data Frame Head and Tail

You might notice this data frame consists of 336 entries, which can make it a little obnoxious to look at that long list, so we can just use head and tail functions

head(ufc)
  plot tree species dbh.cm height.m
1    2    1      DF     39     20.5
2    2    2      WL     48     33.0
3    3    2      GF     52     30.0
4    3    5      WC     36     20.7
5    3    8      WC     38     22.5
6    4    1      WC     46     18.0
tail(ufc)
    plot tree species dbh.cm height.m
331  143    1      GF   28.0     21.0
332  143    2      GF   33.0     20.5
333  143    7      WC   47.8     20.5
334  144    1      GF   10.2     16.0
335  144    2      DF   31.5     22.0
336  144    4      WL   26.5     25.0

You can see these functions print the first 6 and last 6 vlaues, making the data frame much more digestable

Ordering Data Frame

With data frames, you can order one column and have the rest of the columns abide to it. So lets order this data frame so that the height column is ordered and everything else follows suit.

ordered_ufc <- ufc[order(ufc$height.m),]
print(head(ordered_ufc))
    plot tree species dbh.cm height.m
168   67    6      WL   57.5      3.4
31    16    1      GF   10.5      5.0
47    20    4      GF   11.5      8.0
219   87    3      GF   14.0      9.0
248  100    3      WC   10.1      9.0
296  122    4      GF   16.3      9.0
print(tail(ordered_ufc))
    plot tree species dbh.cm height.m
150   59    1      GF   86.1     40.2
141   55    2      DF   99.8     42.0
169   68    1      GF   78.0     42.0
194   78    2      GF   64.4     42.0
222   88    3      WL   70.8     42.5
272  110    4      GF   81.2     47.0

This is useful for many reasons, with one them being that we can easily identify the species of the three tallest trees.

Apply Functions (tapply)

The Apply functions are very useful and easy functions to use to help calculate statistical concepts of a data frame. The three apply functions are sapply, lapply, and tapply. Let’s start with tapply. Tapply follows the form of (X, Index, Function)

tapply(ufc$height.m, ufc$species, mean)
      DF       GF       WC       WL 
25.30000 24.34322 23.48777 25.47273 
tapply(ufc$height.m, ufc$species, length)
 DF  GF  WC  WL 
 57 118 139  22 
tapply(ufc$height.m, ufc$species, max)
  DF   GF   WC   WL 
42.0 47.0 40.0 42.5 

Apply Functions (sapply and lapply)

These apply functions are useful for finding out the statistical concepts of a data frame, but only for specific sections. They apply a function to an array and take the form (X, Function). The only difference between lapply and sapply is lapply will return a list, while sapply will return a vector/matrix

lapply(ufc[4:5], mean)
$dbh.cm
[1] 37.41369

$height.m
[1] 24.2256
sapply(ufc[4:5], mean)
  dbh.cm height.m 
37.41369 24.22560 

is.na()

is.na is a really powerful function in R that helps us deal with NAs within out dataset. We can use it to check if we have any NAs in our data frame.

na_matrix <- is.na(ufc)
print(na_matrix)
        plot  tree species dbh.cm height.m
  [1,] FALSE FALSE   FALSE  FALSE    FALSE
  [2,] FALSE FALSE   FALSE  FALSE    FALSE
  [3,] FALSE FALSE   FALSE  FALSE    FALSE
  [4,] FALSE FALSE   FALSE  FALSE    FALSE
  [5,] FALSE FALSE   FALSE  FALSE    FALSE
  [6,] FALSE FALSE   FALSE  FALSE    FALSE
  [7,] FALSE FALSE   FALSE  FALSE    FALSE
  [8,] FALSE FALSE   FALSE  FALSE    FALSE
  [9,] FALSE FALSE   FALSE  FALSE    FALSE
 [10,] FALSE FALSE   FALSE  FALSE    FALSE
 [11,] FALSE FALSE   FALSE  FALSE    FALSE
 [12,] FALSE FALSE   FALSE  FALSE    FALSE
 [13,] FALSE FALSE   FALSE  FALSE    FALSE
 [14,] FALSE FALSE   FALSE  FALSE    FALSE
 [15,] FALSE FALSE   FALSE  FALSE    FALSE
 [16,] FALSE FALSE   FALSE  FALSE    FALSE
 [17,] FALSE FALSE   FALSE  FALSE    FALSE
 [18,] FALSE FALSE   FALSE  FALSE    FALSE
 [19,] FALSE FALSE   FALSE  FALSE    FALSE
 [20,] FALSE FALSE   FALSE  FALSE    FALSE
 [21,] FALSE FALSE   FALSE  FALSE    FALSE
 [22,] FALSE FALSE   FALSE  FALSE    FALSE
 [23,] FALSE FALSE   FALSE  FALSE    FALSE
 [24,] FALSE FALSE   FALSE  FALSE    FALSE
 [25,] FALSE FALSE   FALSE  FALSE    FALSE
 [26,] FALSE FALSE   FALSE  FALSE    FALSE
 [27,] FALSE FALSE   FALSE  FALSE    FALSE
 [28,] FALSE FALSE   FALSE  FALSE    FALSE
 [29,] FALSE FALSE   FALSE  FALSE    FALSE
 [30,] FALSE FALSE   FALSE  FALSE    FALSE
 [31,] FALSE FALSE   FALSE  FALSE    FALSE
 [32,] FALSE FALSE   FALSE  FALSE    FALSE
 [33,] FALSE FALSE   FALSE  FALSE    FALSE
 [34,] FALSE FALSE   FALSE  FALSE    FALSE
 [35,] FALSE FALSE   FALSE  FALSE    FALSE
 [36,] FALSE FALSE   FALSE  FALSE    FALSE
 [37,] FALSE FALSE   FALSE  FALSE    FALSE
 [38,] FALSE FALSE   FALSE  FALSE    FALSE
 [39,] FALSE FALSE   FALSE  FALSE    FALSE
 [40,] FALSE FALSE   FALSE  FALSE    FALSE
 [41,] FALSE FALSE   FALSE  FALSE    FALSE
 [42,] FALSE FALSE   FALSE  FALSE    FALSE
 [43,] FALSE FALSE   FALSE  FALSE    FALSE
 [44,] FALSE FALSE   FALSE  FALSE    FALSE
 [45,] FALSE FALSE   FALSE  FALSE    FALSE
 [46,] FALSE FALSE   FALSE  FALSE    FALSE
 [47,] FALSE FALSE   FALSE  FALSE    FALSE
 [48,] FALSE FALSE   FALSE  FALSE    FALSE
 [49,] FALSE FALSE   FALSE  FALSE    FALSE
 [50,] FALSE FALSE   FALSE  FALSE    FALSE
 [51,] FALSE FALSE   FALSE  FALSE    FALSE
 [52,] FALSE FALSE   FALSE  FALSE    FALSE
 [53,] FALSE FALSE   FALSE  FALSE    FALSE
 [54,] FALSE FALSE   FALSE  FALSE    FALSE
 [55,] FALSE FALSE   FALSE  FALSE    FALSE
 [56,] FALSE FALSE   FALSE  FALSE    FALSE
 [57,] FALSE FALSE   FALSE  FALSE    FALSE
 [58,] FALSE FALSE   FALSE  FALSE    FALSE
 [59,] FALSE FALSE   FALSE  FALSE    FALSE
 [60,] FALSE FALSE   FALSE  FALSE    FALSE
 [61,] FALSE FALSE   FALSE  FALSE    FALSE
 [62,] FALSE FALSE   FALSE  FALSE    FALSE
 [63,] FALSE FALSE   FALSE  FALSE    FALSE
 [64,] FALSE FALSE   FALSE  FALSE    FALSE
 [65,] FALSE FALSE   FALSE  FALSE    FALSE
 [66,] FALSE FALSE   FALSE  FALSE    FALSE
 [67,] FALSE FALSE   FALSE  FALSE    FALSE
 [68,] FALSE FALSE   FALSE  FALSE    FALSE
 [69,] FALSE FALSE   FALSE  FALSE    FALSE
 [70,] FALSE FALSE   FALSE  FALSE    FALSE
 [71,] FALSE FALSE   FALSE  FALSE    FALSE
 [72,] FALSE FALSE   FALSE  FALSE    FALSE
 [73,] FALSE FALSE   FALSE  FALSE    FALSE
 [74,] FALSE FALSE   FALSE  FALSE    FALSE
 [75,] FALSE FALSE   FALSE  FALSE    FALSE
 [76,] FALSE FALSE   FALSE  FALSE    FALSE
 [77,] FALSE FALSE   FALSE  FALSE    FALSE
 [78,] FALSE FALSE   FALSE  FALSE    FALSE
 [79,] FALSE FALSE   FALSE  FALSE    FALSE
 [80,] FALSE FALSE   FALSE  FALSE    FALSE
 [81,] FALSE FALSE   FALSE  FALSE    FALSE
 [82,] FALSE FALSE   FALSE  FALSE    FALSE
 [83,] FALSE FALSE   FALSE  FALSE    FALSE
 [84,] FALSE FALSE   FALSE  FALSE    FALSE
 [85,] FALSE FALSE   FALSE  FALSE    FALSE
 [86,] FALSE FALSE   FALSE  FALSE    FALSE
 [87,] FALSE FALSE   FALSE  FALSE    FALSE
 [88,] FALSE FALSE   FALSE  FALSE    FALSE
 [89,] FALSE FALSE   FALSE  FALSE    FALSE
 [90,] FALSE FALSE   FALSE  FALSE    FALSE
 [91,] FALSE FALSE   FALSE  FALSE    FALSE
 [92,] FALSE FALSE   FALSE  FALSE    FALSE
 [93,] FALSE FALSE   FALSE  FALSE    FALSE
 [94,] FALSE FALSE   FALSE  FALSE    FALSE
 [95,] FALSE FALSE   FALSE  FALSE    FALSE
 [96,] FALSE FALSE   FALSE  FALSE    FALSE
 [97,] FALSE FALSE   FALSE  FALSE    FALSE
 [98,] FALSE FALSE   FALSE  FALSE    FALSE
 [99,] FALSE FALSE   FALSE  FALSE    FALSE
[100,] FALSE FALSE   FALSE  FALSE    FALSE
[101,] FALSE FALSE   FALSE  FALSE    FALSE
[102,] FALSE FALSE   FALSE  FALSE    FALSE
[103,] FALSE FALSE   FALSE  FALSE    FALSE
[104,] FALSE FALSE   FALSE  FALSE    FALSE
[105,] FALSE FALSE   FALSE  FALSE    FALSE
[106,] FALSE FALSE   FALSE  FALSE    FALSE
[107,] FALSE FALSE   FALSE  FALSE    FALSE
[108,] FALSE FALSE   FALSE  FALSE    FALSE
[109,] FALSE FALSE   FALSE  FALSE    FALSE
[110,] FALSE FALSE   FALSE  FALSE    FALSE
[111,] FALSE FALSE   FALSE  FALSE    FALSE
[112,] FALSE FALSE   FALSE  FALSE    FALSE
[113,] FALSE FALSE   FALSE  FALSE    FALSE
[114,] FALSE FALSE   FALSE  FALSE    FALSE
[115,] FALSE FALSE   FALSE  FALSE    FALSE
[116,] FALSE FALSE   FALSE  FALSE    FALSE
[117,] FALSE FALSE   FALSE  FALSE    FALSE
[118,] FALSE FALSE   FALSE  FALSE    FALSE
[119,] FALSE FALSE   FALSE  FALSE    FALSE
[120,] FALSE FALSE   FALSE  FALSE    FALSE
[121,] FALSE FALSE   FALSE  FALSE    FALSE
[122,] FALSE FALSE   FALSE  FALSE    FALSE
[123,] FALSE FALSE   FALSE  FALSE    FALSE
[124,] FALSE FALSE   FALSE  FALSE    FALSE
[125,] FALSE FALSE   FALSE  FALSE    FALSE
[126,] FALSE FALSE   FALSE  FALSE    FALSE
[127,] FALSE FALSE   FALSE  FALSE    FALSE
[128,] FALSE FALSE   FALSE  FALSE    FALSE
[129,] FALSE FALSE   FALSE  FALSE    FALSE
[130,] FALSE FALSE   FALSE  FALSE    FALSE
[131,] FALSE FALSE   FALSE  FALSE    FALSE
[132,] FALSE FALSE   FALSE  FALSE    FALSE
[133,] FALSE FALSE   FALSE  FALSE    FALSE
[134,] FALSE FALSE   FALSE  FALSE    FALSE
[135,] FALSE FALSE   FALSE  FALSE    FALSE
[136,] FALSE FALSE   FALSE  FALSE    FALSE
[137,] FALSE FALSE   FALSE  FALSE    FALSE
[138,] FALSE FALSE   FALSE  FALSE    FALSE
[139,] FALSE FALSE   FALSE  FALSE    FALSE
[140,] FALSE FALSE   FALSE  FALSE    FALSE
[141,] FALSE FALSE   FALSE  FALSE    FALSE
[142,] FALSE FALSE   FALSE  FALSE    FALSE
[143,] FALSE FALSE   FALSE  FALSE    FALSE
[144,] FALSE FALSE   FALSE  FALSE    FALSE
[145,] FALSE FALSE   FALSE  FALSE    FALSE
[146,] FALSE FALSE   FALSE  FALSE    FALSE
[147,] FALSE FALSE   FALSE  FALSE    FALSE
[148,] FALSE FALSE   FALSE  FALSE    FALSE
[149,] FALSE FALSE   FALSE  FALSE    FALSE
[150,] FALSE FALSE   FALSE  FALSE    FALSE
[151,] FALSE FALSE   FALSE  FALSE    FALSE
[152,] FALSE FALSE   FALSE  FALSE    FALSE
[153,] FALSE FALSE   FALSE  FALSE    FALSE
[154,] FALSE FALSE   FALSE  FALSE    FALSE
[155,] FALSE FALSE   FALSE  FALSE    FALSE
[156,] FALSE FALSE   FALSE  FALSE    FALSE
[157,] FALSE FALSE   FALSE  FALSE    FALSE
[158,] FALSE FALSE   FALSE  FALSE    FALSE
[159,] FALSE FALSE   FALSE  FALSE    FALSE
[160,] FALSE FALSE   FALSE  FALSE    FALSE
[161,] FALSE FALSE   FALSE  FALSE    FALSE
[162,] FALSE FALSE   FALSE  FALSE    FALSE
[163,] FALSE FALSE   FALSE  FALSE    FALSE
[164,] FALSE FALSE   FALSE  FALSE    FALSE
[165,] FALSE FALSE   FALSE  FALSE    FALSE
[166,] FALSE FALSE   FALSE  FALSE    FALSE
[167,] FALSE FALSE   FALSE  FALSE    FALSE
[168,] FALSE FALSE   FALSE  FALSE    FALSE
[169,] FALSE FALSE   FALSE  FALSE    FALSE
[170,] FALSE FALSE   FALSE  FALSE    FALSE
[171,] FALSE FALSE   FALSE  FALSE    FALSE
[172,] FALSE FALSE   FALSE  FALSE    FALSE
[173,] FALSE FALSE   FALSE  FALSE    FALSE
[174,] FALSE FALSE   FALSE  FALSE    FALSE
[175,] FALSE FALSE   FALSE  FALSE    FALSE
[176,] FALSE FALSE   FALSE  FALSE    FALSE
[177,] FALSE FALSE   FALSE  FALSE    FALSE
[178,] FALSE FALSE   FALSE  FALSE    FALSE
[179,] FALSE FALSE   FALSE  FALSE    FALSE
[180,] FALSE FALSE   FALSE  FALSE    FALSE
[181,] FALSE FALSE   FALSE  FALSE    FALSE
[182,] FALSE FALSE   FALSE  FALSE    FALSE
[183,] FALSE FALSE   FALSE  FALSE    FALSE
[184,] FALSE FALSE   FALSE  FALSE    FALSE
[185,] FALSE FALSE   FALSE  FALSE    FALSE
[186,] FALSE FALSE   FALSE  FALSE    FALSE
[187,] FALSE FALSE   FALSE  FALSE    FALSE
[188,] FALSE FALSE   FALSE  FALSE    FALSE
[189,] FALSE FALSE   FALSE  FALSE    FALSE
[190,] FALSE FALSE   FALSE  FALSE    FALSE
[191,] FALSE FALSE   FALSE  FALSE    FALSE
[192,] FALSE FALSE   FALSE  FALSE    FALSE
[193,] FALSE FALSE   FALSE  FALSE    FALSE
[194,] FALSE FALSE   FALSE  FALSE    FALSE
[195,] FALSE FALSE   FALSE  FALSE    FALSE
[196,] FALSE FALSE   FALSE  FALSE    FALSE
[197,] FALSE FALSE   FALSE  FALSE    FALSE
[198,] FALSE FALSE   FALSE  FALSE    FALSE
[199,] FALSE FALSE   FALSE  FALSE    FALSE
[200,] FALSE FALSE   FALSE  FALSE    FALSE
[201,] FALSE FALSE   FALSE  FALSE    FALSE
[202,] FALSE FALSE   FALSE  FALSE    FALSE
[203,] FALSE FALSE   FALSE  FALSE    FALSE
[204,] FALSE FALSE   FALSE  FALSE    FALSE
[205,] FALSE FALSE   FALSE  FALSE    FALSE
[206,] FALSE FALSE   FALSE  FALSE    FALSE
[207,] FALSE FALSE   FALSE  FALSE    FALSE
[208,] FALSE FALSE   FALSE  FALSE    FALSE
[209,] FALSE FALSE   FALSE  FALSE    FALSE
[210,] FALSE FALSE   FALSE  FALSE    FALSE
[211,] FALSE FALSE   FALSE  FALSE    FALSE
[212,] FALSE FALSE   FALSE  FALSE    FALSE
[213,] FALSE FALSE   FALSE  FALSE    FALSE
[214,] FALSE FALSE   FALSE  FALSE    FALSE
[215,] FALSE FALSE   FALSE  FALSE    FALSE
[216,] FALSE FALSE   FALSE  FALSE    FALSE
[217,] FALSE FALSE   FALSE  FALSE    FALSE
[218,] FALSE FALSE   FALSE  FALSE    FALSE
[219,] FALSE FALSE   FALSE  FALSE    FALSE
[220,] FALSE FALSE   FALSE  FALSE    FALSE
[221,] FALSE FALSE   FALSE  FALSE    FALSE
[222,] FALSE FALSE   FALSE  FALSE    FALSE
[223,] FALSE FALSE   FALSE  FALSE    FALSE
[224,] FALSE FALSE   FALSE  FALSE    FALSE
[225,] FALSE FALSE   FALSE  FALSE    FALSE
[226,] FALSE FALSE   FALSE  FALSE    FALSE
[227,] FALSE FALSE   FALSE  FALSE    FALSE
[228,] FALSE FALSE   FALSE  FALSE    FALSE
[229,] FALSE FALSE   FALSE  FALSE    FALSE
[230,] FALSE FALSE   FALSE  FALSE    FALSE
[231,] FALSE FALSE   FALSE  FALSE    FALSE
[232,] FALSE FALSE   FALSE  FALSE    FALSE
[233,] FALSE FALSE   FALSE  FALSE    FALSE
[234,] FALSE FALSE   FALSE  FALSE    FALSE
[235,] FALSE FALSE   FALSE  FALSE    FALSE
[236,] FALSE FALSE   FALSE  FALSE    FALSE
[237,] FALSE FALSE   FALSE  FALSE    FALSE
[238,] FALSE FALSE   FALSE  FALSE    FALSE
[239,] FALSE FALSE   FALSE  FALSE    FALSE
[240,] FALSE FALSE   FALSE  FALSE    FALSE
[241,] FALSE FALSE   FALSE  FALSE    FALSE
[242,] FALSE FALSE   FALSE  FALSE    FALSE
[243,] FALSE FALSE   FALSE  FALSE    FALSE
[244,] FALSE FALSE   FALSE  FALSE    FALSE
[245,] FALSE FALSE   FALSE  FALSE    FALSE
[246,] FALSE FALSE   FALSE  FALSE    FALSE
[247,] FALSE FALSE   FALSE  FALSE    FALSE
[248,] FALSE FALSE   FALSE  FALSE    FALSE
[249,] FALSE FALSE   FALSE  FALSE    FALSE
[250,] FALSE FALSE   FALSE  FALSE    FALSE
[251,] FALSE FALSE   FALSE  FALSE    FALSE
[252,] FALSE FALSE   FALSE  FALSE    FALSE
[253,] FALSE FALSE   FALSE  FALSE    FALSE
[254,] FALSE FALSE   FALSE  FALSE    FALSE
[255,] FALSE FALSE   FALSE  FALSE    FALSE
[256,] FALSE FALSE   FALSE  FALSE    FALSE
[257,] FALSE FALSE   FALSE  FALSE    FALSE
[258,] FALSE FALSE   FALSE  FALSE    FALSE
[259,] FALSE FALSE   FALSE  FALSE    FALSE
[260,] FALSE FALSE   FALSE  FALSE    FALSE
[261,] FALSE FALSE   FALSE  FALSE    FALSE
[262,] FALSE FALSE   FALSE  FALSE    FALSE
[263,] FALSE FALSE   FALSE  FALSE    FALSE
[264,] FALSE FALSE   FALSE  FALSE    FALSE
[265,] FALSE FALSE   FALSE  FALSE    FALSE
[266,] FALSE FALSE   FALSE  FALSE    FALSE
[267,] FALSE FALSE   FALSE  FALSE    FALSE
[268,] FALSE FALSE   FALSE  FALSE    FALSE
[269,] FALSE FALSE   FALSE  FALSE    FALSE
[270,] FALSE FALSE   FALSE  FALSE    FALSE
[271,] FALSE FALSE   FALSE  FALSE    FALSE
[272,] FALSE FALSE   FALSE  FALSE    FALSE
[273,] FALSE FALSE   FALSE  FALSE    FALSE
[274,] FALSE FALSE   FALSE  FALSE    FALSE
[275,] FALSE FALSE   FALSE  FALSE    FALSE
[276,] FALSE FALSE   FALSE  FALSE    FALSE
[277,] FALSE FALSE   FALSE  FALSE    FALSE
[278,] FALSE FALSE   FALSE  FALSE    FALSE
[279,] FALSE FALSE   FALSE  FALSE    FALSE
[280,] FALSE FALSE   FALSE  FALSE    FALSE
[281,] FALSE FALSE   FALSE  FALSE    FALSE
[282,] FALSE FALSE   FALSE  FALSE    FALSE
[283,] FALSE FALSE   FALSE  FALSE    FALSE
[284,] FALSE FALSE   FALSE  FALSE    FALSE
[285,] FALSE FALSE   FALSE  FALSE    FALSE
[286,] FALSE FALSE   FALSE  FALSE    FALSE
[287,] FALSE FALSE   FALSE  FALSE    FALSE
[288,] FALSE FALSE   FALSE  FALSE    FALSE
[289,] FALSE FALSE   FALSE  FALSE    FALSE
[290,] FALSE FALSE   FALSE  FALSE    FALSE
[291,] FALSE FALSE   FALSE  FALSE    FALSE
[292,] FALSE FALSE   FALSE  FALSE    FALSE
[293,] FALSE FALSE   FALSE  FALSE    FALSE
[294,] FALSE FALSE   FALSE  FALSE    FALSE
[295,] FALSE FALSE   FALSE  FALSE    FALSE
[296,] FALSE FALSE   FALSE  FALSE    FALSE
[297,] FALSE FALSE   FALSE  FALSE    FALSE
[298,] FALSE FALSE   FALSE  FALSE    FALSE
[299,] FALSE FALSE   FALSE  FALSE    FALSE
[300,] FALSE FALSE   FALSE  FALSE    FALSE
[301,] FALSE FALSE   FALSE  FALSE    FALSE
[302,] FALSE FALSE   FALSE  FALSE    FALSE
[303,] FALSE FALSE   FALSE  FALSE    FALSE
[304,] FALSE FALSE   FALSE  FALSE    FALSE
[305,] FALSE FALSE   FALSE  FALSE    FALSE
[306,] FALSE FALSE   FALSE  FALSE    FALSE
[307,] FALSE FALSE   FALSE  FALSE    FALSE
[308,] FALSE FALSE   FALSE  FALSE    FALSE
[309,] FALSE FALSE   FALSE  FALSE    FALSE
[310,] FALSE FALSE   FALSE  FALSE    FALSE
[311,] FALSE FALSE   FALSE  FALSE    FALSE
[312,] FALSE FALSE   FALSE  FALSE    FALSE
[313,] FALSE FALSE   FALSE  FALSE    FALSE
[314,] FALSE FALSE   FALSE  FALSE    FALSE
[315,] FALSE FALSE   FALSE  FALSE    FALSE
[316,] FALSE FALSE   FALSE  FALSE    FALSE
[317,] FALSE FALSE   FALSE  FALSE    FALSE
[318,] FALSE FALSE   FALSE  FALSE    FALSE
[319,] FALSE FALSE   FALSE  FALSE    FALSE
[320,] FALSE FALSE   FALSE  FALSE    FALSE
[321,] FALSE FALSE   FALSE  FALSE    FALSE
[322,] FALSE FALSE   FALSE  FALSE    FALSE
[323,] FALSE FALSE   FALSE  FALSE    FALSE
[324,] FALSE FALSE   FALSE  FALSE    FALSE
[325,] FALSE FALSE   FALSE  FALSE    FALSE
[326,] FALSE FALSE   FALSE  FALSE    FALSE
[327,] FALSE FALSE   FALSE  FALSE    FALSE
[328,] FALSE FALSE   FALSE  FALSE    FALSE
[329,] FALSE FALSE   FALSE  FALSE    FALSE
[330,] FALSE FALSE   FALSE  FALSE    FALSE
[331,] FALSE FALSE   FALSE  FALSE    FALSE
[332,] FALSE FALSE   FALSE  FALSE    FALSE
[333,] FALSE FALSE   FALSE  FALSE    FALSE
[334,] FALSE FALSE   FALSE  FALSE    FALSE
[335,] FALSE FALSE   FALSE  FALSE    FALSE
[336,] FALSE FALSE   FALSE  FALSE    FALSE

is.na() continued

You can see that this particular data frame does not contain any NAs, however with a data frame this large it seems inefficent to look through the whole thing. Thus, we can use a nested loop to determine the exact location.

na_matrix <- is.na(ufc)
for (i in seq_len(nrow(ufc))) {
  for (j in seq_len(ncol(ufc))) {
    if (na_matrix[i, j]) {
      cat("NA found at row:", i, "column:",
          colnames(ufc)[j], "\n")
    }
  }
}

Since this loop did not return anything, we know we do not have any NAs

Data Visualization

Lattice

Lattice is a library in R that allows you to visualize multiple graphs at once very easily. The library also offers multiple types of graphs such as histograms, box plots, density plots, and xy plots. These graphs show the density for each species of trees.

library(lattice)
densityplot(~ dbh.cm | species, data= ufc)

Lattice Continued

Here we are showing the relationship between height and diameter by using a scatterplot.

library(lattice)
xyplot(height.m ~ dbh.cm | species , data=ufc)

Ggplot2

Ggplot is another really useful package that helps us visualize data. With ggplot, we can make our visualization have a lot of more detail by adding color and being able to label our axes.

library(ggplot2)
ggplot(ufc, aes(species, height.m, color= species)) +
  geom_point(size = 3) +
  labs(x = "Species", Y= "Height", title= "Species and their heights")

ggplot2 continued

ggplot allows us to make some important statistical graphs, such as a box plot

library(ggplot2)
ggplot(ufc, aes(species, height.m)) +
  geom_boxplot(color= "red") +
  labs(x = "Species", Y= "Height", title= "Box plot of tree heights")

ggplot2 continued

ggplot also allows us to make bar graphs.

library(ggplot2)
ggplot(ufc, aes(species, color = species)) +
  geom_bar(fill = "blue") +
  labs(x = "Species", Y= "Height", title= "Bar plot of tree heights")

Conclusion

Overall, R programming excels in the area of data analytics and visualization. It has plenty of amazing functions, packages, and libraries that make it such a good platform for interpreting data frames. In this presentation, I covered some of the major characteristics in R, but it has much more to offer