Logical Operators:

  1. Use logical operations to get R to agree that “two plus two equals 5” is FALSE.
2+2==5
## [1] FALSE
  1. Use logical operations to test whether 8 ^ 13 is less than 15 ^ 9.
8^13<15^9
## [1] FALSE

Variables:

  1. Create a variable called potato whose value corresponds to the number of potatoes you’ve eaten in the last week. Or something equally ridiculous. Print out the value of potato.
potato=167
potato<-167
potato
## [1] 167
  1. Calculate the square root of potato using the sqrt() function. Print out the value of potato again to verify that the value of potato hasn’t changed.
sqrt(potato)
## [1] 12.92285
  1. Reassign the value of potato to potato * 2. Print out the new value of potato to verify that it has changed.
potato= potato *2
potato
## [1] 334
  1. Try making a character (string) variable and a logical variable . Try creating a variable with a “missing” value NA. You can call these variables whatever you would like. Use class(variablename) to make sure they are the right type of variable.
animal="cat"
animal
## [1] "cat"
class(animal)
## [1] "character"
animaliscute=TRUE
class(animaliscute)
## [1] "logical"
animalisnotcute=NA
animalisnotcute
## [1] NA

Vectors:

  1. Create a numeric vector with three elements using c().
a=c(1,2,3)
a
## [1] 1 2 3
  1. Create a character vector with three elements using c().
z=c("a","b","c")
z
## [1] "a" "b" "c"
  1. Create a numeric vector called age whose elements contain the ages of three people you know, where the names of each element correspond to the names of those people.
age=c(25,26,27)
names(age)=c("john","james","jenny")
age
##  john james jenny 
##    25    26    27
  1. Use “indexing by number” to get R to print out the first element of one of the vectors you created in the last questions.
age[1]
## john 
##   25
  1. Use logical indexing to return all the ages of all people in age greater than 20.
age>20
##  john james jenny 
##  TRUE  TRUE  TRUE
  1. Use indexing by name to return the age of one of the people whose ages you’ve stored in age
age["john"]
## john 
##   25

Matrices:

Dataframes:

  1. Load the airquality dataset.
  2. Use the $ method to print out the Wind variable in airquality.
  3. Print out the third element of the Wind variable.
airquality
##     Ozone Solar.R Wind Temp Month Day
## 1      41     190  7.4   67     5   1
## 2      36     118  8.0   72     5   2
## 3      12     149 12.6   74     5   3
## 4      18     313 11.5   62     5   4
## 5      NA      NA 14.3   56     5   5
## 6      28      NA 14.9   66     5   6
## 7      23     299  8.6   65     5   7
## 8      19      99 13.8   59     5   8
## 9       8      19 20.1   61     5   9
## 10     NA     194  8.6   69     5  10
## 11      7      NA  6.9   74     5  11
## 12     16     256  9.7   69     5  12
## 13     11     290  9.2   66     5  13
## 14     14     274 10.9   68     5  14
## 15     18      65 13.2   58     5  15
## 16     14     334 11.5   64     5  16
## 17     34     307 12.0   66     5  17
## 18      6      78 18.4   57     5  18
## 19     30     322 11.5   68     5  19
## 20     11      44  9.7   62     5  20
## 21      1       8  9.7   59     5  21
## 22     11     320 16.6   73     5  22
## 23      4      25  9.7   61     5  23
## 24     32      92 12.0   61     5  24
## 25     NA      66 16.6   57     5  25
## 26     NA     266 14.9   58     5  26
## 27     NA      NA  8.0   57     5  27
## 28     23      13 12.0   67     5  28
## 29     45     252 14.9   81     5  29
## 30    115     223  5.7   79     5  30
## 31     37     279  7.4   76     5  31
## 32     NA     286  8.6   78     6   1
## 33     NA     287  9.7   74     6   2
## 34     NA     242 16.1   67     6   3
## 35     NA     186  9.2   84     6   4
## 36     NA     220  8.6   85     6   5
## 37     NA     264 14.3   79     6   6
## 38     29     127  9.7   82     6   7
## 39     NA     273  6.9   87     6   8
## 40     71     291 13.8   90     6   9
## 41     39     323 11.5   87     6  10
## 42     NA     259 10.9   93     6  11
## 43     NA     250  9.2   92     6  12
## 44     23     148  8.0   82     6  13
## 45     NA     332 13.8   80     6  14
## 46     NA     322 11.5   79     6  15
## 47     21     191 14.9   77     6  16
## 48     37     284 20.7   72     6  17
## 49     20      37  9.2   65     6  18
## 50     12     120 11.5   73     6  19
## 51     13     137 10.3   76     6  20
## 52     NA     150  6.3   77     6  21
## 53     NA      59  1.7   76     6  22
## 54     NA      91  4.6   76     6  23
## 55     NA     250  6.3   76     6  24
## 56     NA     135  8.0   75     6  25
## 57     NA     127  8.0   78     6  26
## 58     NA      47 10.3   73     6  27
## 59     NA      98 11.5   80     6  28
## 60     NA      31 14.9   77     6  29
## 61     NA     138  8.0   83     6  30
## 62    135     269  4.1   84     7   1
## 63     49     248  9.2   85     7   2
## 64     32     236  9.2   81     7   3
## 65     NA     101 10.9   84     7   4
## 66     64     175  4.6   83     7   5
## 67     40     314 10.9   83     7   6
## 68     77     276  5.1   88     7   7
## 69     97     267  6.3   92     7   8
## 70     97     272  5.7   92     7   9
## 71     85     175  7.4   89     7  10
## 72     NA     139  8.6   82     7  11
## 73     10     264 14.3   73     7  12
## 74     27     175 14.9   81     7  13
## 75     NA     291 14.9   91     7  14
## 76      7      48 14.3   80     7  15
## 77     48     260  6.9   81     7  16
## 78     35     274 10.3   82     7  17
## 79     61     285  6.3   84     7  18
## 80     79     187  5.1   87     7  19
## 81     63     220 11.5   85     7  20
## 82     16       7  6.9   74     7  21
## 83     NA     258  9.7   81     7  22
## 84     NA     295 11.5   82     7  23
## 85     80     294  8.6   86     7  24
## 86    108     223  8.0   85     7  25
## 87     20      81  8.6   82     7  26
## 88     52      82 12.0   86     7  27
## 89     82     213  7.4   88     7  28
## 90     50     275  7.4   86     7  29
## 91     64     253  7.4   83     7  30
## 92     59     254  9.2   81     7  31
## 93     39      83  6.9   81     8   1
## 94      9      24 13.8   81     8   2
## 95     16      77  7.4   82     8   3
## 96     78      NA  6.9   86     8   4
## 97     35      NA  7.4   85     8   5
## 98     66      NA  4.6   87     8   6
## 99    122     255  4.0   89     8   7
## 100    89     229 10.3   90     8   8
## 101   110     207  8.0   90     8   9
## 102    NA     222  8.6   92     8  10
## 103    NA     137 11.5   86     8  11
## 104    44     192 11.5   86     8  12
## 105    28     273 11.5   82     8  13
## 106    65     157  9.7   80     8  14
## 107    NA      64 11.5   79     8  15
## 108    22      71 10.3   77     8  16
## 109    59      51  6.3   79     8  17
## 110    23     115  7.4   76     8  18
## 111    31     244 10.9   78     8  19
## 112    44     190 10.3   78     8  20
## 113    21     259 15.5   77     8  21
## 114     9      36 14.3   72     8  22
## 115    NA     255 12.6   75     8  23
## 116    45     212  9.7   79     8  24
## 117   168     238  3.4   81     8  25
## 118    73     215  8.0   86     8  26
## 119    NA     153  5.7   88     8  27
## 120    76     203  9.7   97     8  28
## 121   118     225  2.3   94     8  29
## 122    84     237  6.3   96     8  30
## 123    85     188  6.3   94     8  31
## 124    96     167  6.9   91     9   1
## 125    78     197  5.1   92     9   2
## 126    73     183  2.8   93     9   3
## 127    91     189  4.6   93     9   4
## 128    47      95  7.4   87     9   5
## 129    32      92 15.5   84     9   6
## 130    20     252 10.9   80     9   7
## 131    23     220 10.3   78     9   8
## 132    21     230 10.9   75     9   9
## 133    24     259  9.7   73     9  10
## 134    44     236 14.9   81     9  11
## 135    21     259 15.5   76     9  12
## 136    28     238  6.3   77     9  13
## 137     9      24 10.9   71     9  14
## 138    13     112 11.5   71     9  15
## 139    46     237  6.9   78     9  16
## 140    18     224 13.8   67     9  17
## 141    13      27 10.3   76     9  18
## 142    24     238 10.3   68     9  19
## 143    16     201  8.0   82     9  20
## 144    13     238 12.6   64     9  21
## 145    23      14  9.2   71     9  22
## 146    36     139 10.3   81     9  23
## 147     7      49 10.3   69     9  24
## 148    14      20 16.6   63     9  25
## 149    30     193  6.9   70     9  26
## 150    NA     145 13.2   77     9  27
## 151    14     191 14.3   75     9  28
## 152    18     131  8.0   76     9  29
## 153    20     223 11.5   68     9  30
airquality$Wind
##   [1]  7.4  8.0 12.6 11.5 14.3 14.9  8.6 13.8 20.1  8.6  6.9  9.7  9.2 10.9
##  [15] 13.2 11.5 12.0 18.4 11.5  9.7  9.7 16.6  9.7 12.0 16.6 14.9  8.0 12.0
##  [29] 14.9  5.7  7.4  8.6  9.7 16.1  9.2  8.6 14.3  9.7  6.9 13.8 11.5 10.9
##  [43]  9.2  8.0 13.8 11.5 14.9 20.7  9.2 11.5 10.3  6.3  1.7  4.6  6.3  8.0
##  [57]  8.0 10.3 11.5 14.9  8.0  4.1  9.2  9.2 10.9  4.6 10.9  5.1  6.3  5.7
##  [71]  7.4  8.6 14.3 14.9 14.9 14.3  6.9 10.3  6.3  5.1 11.5  6.9  9.7 11.5
##  [85]  8.6  8.0  8.6 12.0  7.4  7.4  7.4  9.2  6.9 13.8  7.4  6.9  7.4  4.6
##  [99]  4.0 10.3  8.0  8.6 11.5 11.5 11.5  9.7 11.5 10.3  6.3  7.4 10.9 10.3
## [113] 15.5 14.3 12.6  9.7  3.4  8.0  5.7  9.7  2.3  6.3  6.3  6.9  5.1  2.8
## [127]  4.6  7.4 15.5 10.9 10.3 10.9  9.7 14.9 15.5  6.3 10.9 11.5  6.9 13.8
## [141] 10.3 10.3  8.0 12.6  9.2 10.3 10.3 16.6  6.9 13.2 14.3  8.0 11.5
airquality$Wind[3]
## [1] 12.6
  1. Create a new data frame called aq that includes only the first 10 cases. Hint: typing c(1,2,3,4,5,6,7,8,9,10) is tedious. R allows you to use 1:10 as a shorthand method!
  2. Use logical indexing to print out all days (ie. cases) in aq where the Ozone level was higher than 20.
    1. What did the output do with NA values?
  3. Use subset() to do the same thing. Notice the difference in the output.
aq=head(airquality,10) #16
aq$Ozone>20 #17
##  [1]  TRUE  TRUE FALSE FALSE    NA  TRUE  TRUE FALSE FALSE    NA
x=subset(aq,Ozone>20) #18
  1. Create a TooWindy variable inside aq, which is a logical variable that is TRUE if Wind is greater than 10, and FALSE otherwise.
aq$TooWindy=aq$Wind>10
aq
##    Ozone Solar.R Wind Temp Month Day TooWindy
## 1     41     190  7.4   67     5   1    FALSE
## 2     36     118  8.0   72     5   2    FALSE
## 3     12     149 12.6   74     5   3     TRUE
## 4     18     313 11.5   62     5   4     TRUE
## 5     NA      NA 14.3   56     5   5     TRUE
## 6     28      NA 14.9   66     5   6     TRUE
## 7     23     299  8.6   65     5   7    FALSE
## 8     19      99 13.8   59     5   8     TRUE
## 9      8      19 20.1   61     5   9     TRUE
## 10    NA     194  8.6   69     5  10    FALSE
  1. Use the length() function to determine the number of observations in the airquality dataframe.
length(airquality)
## [1] 6
  1. Calculate the mean and standard deviation of one of the variables in airquality.
mean(airquality$Wind)
## [1] 9.957516
sd(airquality$Wind)
## [1] 3.523001
  1. Make a table of the Temp values.
temp=table(airquality$Temp)
temp
## 
## 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 
##  1  3  2  2  3  2  1  2  2  3  4  4  3  1  3  3  5  4  4  9  7  6  6  5 11 
## 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 
##  9  4  5  5  7  5  3  2  3  2  5  3  2  1  1
  1. Make a histogram of the Ozone column. Is it a normal distribution? Why or why not?
hist(airquality$Ozone)

#not noraml distribution because it is right-skewed. # Functions:

  1. Make a simple function to calculate x + 6.
add_six=function(x){x+6}
  1. Use that function add 6 to the Temp column in airquality.
add_six(airquality$Temp)
##   [1]  73  78  80  68  62  72  71  65  67  75  80  75  72  74  64  70  72
##  [18]  63  74  68  65  79  67  67  63  64  63  73  87  85  82  84  80  73
##  [35]  90  91  85  88  93  96  93  99  98  88  86  85  83  78  71  79  82
##  [52]  83  82  82  82  81  84  79  86  83  89  90  91  87  90  89  89  94
##  [69]  98  98  95  88  79  87  97  86  87  88  90  93  91  80  87  88  92
##  [86]  91  88  92  94  92  89  87  87  87  88  92  91  93  95  96  96  98
## [103]  92  92  88  86  85  83  85  82  84  84  83  78  81  85  87  92  94
## [120] 103 100 102 100  97  98  99  99  93  90  86  84  81  79  87  82  83
## [137]  77  77  84  73  82  74  88  70  77  87  75  69  76  83  81  82  74

Packages:

  1. Install the ggplot2 package.
  2. Install the car package.
  3. Install the ez package. (no output necessary for these three)
  4. Load the car library.
r = getOption("repos")
r["CRAN"] = "http://cran.us.r-project.org"
options(repos = r)
install.packages("ggplot2")
## 
## The downloaded binary packages are in
##  /var/folders/lx/0s3qr0910bgfc7z43dsllfkh0000gn/T//RtmpMsGYNv/downloaded_packages
install.packages("car")
## 
## The downloaded binary packages are in
##  /var/folders/lx/0s3qr0910bgfc7z43dsllfkh0000gn/T//RtmpMsGYNv/downloaded_packages
install.packages("ez")
## 
## The downloaded binary packages are in
##  /var/folders/lx/0s3qr0910bgfc7z43dsllfkh0000gn/T//RtmpMsGYNv/downloaded_packages
library("car")
## Loading required package: carData

Files

  1. Import the csv file provided on Canvas.
dat=read.csv("lab_R_learning.csv",header=TRUE)