This is my code for Week 1 - Assignment 1 in the R programing course by John Hopkins university.

Import data

# Read data
data<-read.csv("Dataset/hw1_data.csv")

# class of the object
class(data)
## [1] "data.frame"
# Column names
colnames(data)
## [1] "Ozone"   "Solar.R" "Wind"    "Temp"    "Month"   "Day"
# Read some first rows/ last rows
head(data,3)
##   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
tail(data,5)
##     Ozone Solar.R Wind Temp Month Day
## 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

Subset data

# Subset by name
data$Ozone
##   [1]  41  36  12  18  NA  28  23  19   8  NA   7  16  11  14  18  14  34   6
##  [19]  30  11   1  11   4  32  NA  NA  NA  23  45 115  37  NA  NA  NA  NA  NA
##  [37]  NA  29  NA  71  39  NA  NA  23  NA  NA  21  37  20  12  13  NA  NA  NA
##  [55]  NA  NA  NA  NA  NA  NA  NA 135  49  32  NA  64  40  77  97  97  85  NA
##  [73]  10  27  NA   7  48  35  61  79  63  16  NA  NA  80 108  20  52  82  50
##  [91]  64  59  39   9  16  78  35  66 122  89 110  NA  NA  44  28  65  NA  22
## [109]  59  23  31  44  21   9  NA  45 168  73  NA  76 118  84  85  96  78  73
## [127]  91  47  32  20  23  21  24  44  21  28   9  13  46  18  13  24  16  13
## [145]  23  36   7  14  30  NA  14  18  20
# Subset by index
data[[1]]
##   [1]  41  36  12  18  NA  28  23  19   8  NA   7  16  11  14  18  14  34   6
##  [19]  30  11   1  11   4  32  NA  NA  NA  23  45 115  37  NA  NA  NA  NA  NA
##  [37]  NA  29  NA  71  39  NA  NA  23  NA  NA  21  37  20  12  13  NA  NA  NA
##  [55]  NA  NA  NA  NA  NA  NA  NA 135  49  32  NA  64  40  77  97  97  85  NA
##  [73]  10  27  NA   7  48  35  61  79  63  16  NA  NA  80 108  20  52  82  50
##  [91]  64  59  39   9  16  78  35  66 122  89 110  NA  NA  44  28  65  NA  22
## [109]  59  23  31  44  21   9  NA  45 168  73  NA  76 118  84  85  96  78  73
## [127]  91  47  32  20  23  21  24  44  21  28   9  13  46  18  13  24  16  13
## [145]  23  36   7  14  30  NA  14  18  20
data$Ozone[4]
## [1] 18
data[[1]][4]
## [1] 18
x<-is.na(data$Ozone)
# the result is a logical vector
x
##   [1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [25]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
##  [37]  TRUE FALSE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE
##  [49] FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
##  [61]  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [73] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE
##  [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [97] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE
## [109] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
## [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [145] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
data$Ozone[!x]
##   [1]  41  36  12  18  28  23  19   8   7  16  11  14  18  14  34   6  30  11
##  [19]   1  11   4  32  23  45 115  37  29  71  39  23  21  37  20  12  13 135
##  [37]  49  32  64  40  77  97  97  85  10  27   7  48  35  61  79  63  16  80
##  [55] 108  20  52  82  50  64  59  39   9  16  78  35  66 122  89 110  44  28
##  [73]  65  22  59  23  31  44  21   9  45 168  73  76 118  84  85  96  78  73
##  [91]  91  47  32  20  23  21  24  44  21  28   9  13  46  18  13  24  16  13
## [109]  23  36   7  14  30  14  18  20
mean(data$Ozone[!x])
## [1] 42.12931
mean(data$Ozone,na.rm = TRUE)
## [1] 42.12931

More subset

data$Solar.R[which(data$Ozone>32&data$Temp>89)]
##  [1] 291 267 272 229 207 203 225 237 188 167 197 183 189
mean(data$Solar.R[which(data$Ozone>32&data$Temp>89)],na.rm = TRUE)
## [1] 219.6154
mean(data$Temp[which(data$Month==5)],na.rm = TRUE)
## [1] 65.54839