Assignment 1 - BSE658

2+2
## [1] 4
3-2
## [1] 1
3/2
## [1] 1.5
3*2
## [1] 6
2^2
## [1] 4
2^3
## [1] 8
(2+3)*3
## [1] 15
2+(3*3)
## [1] 11
sqrt(4)
## [1] 2
abs(-2)
## [1] 2
abs(2)
## [1] 2
x = 2*3
x/2
## [1] 3
ls()
## [1] "x"
x <- c(2.3, 1, 5)
x
## [1] 2.3 1.0 5.0
length(x)
## [1] 3
mode(x)
## [1] "numeric"
class(x)
## [1] "numeric"
mynums <- 10:1
mynums
##  [1] 10  9  8  7  6  5  4  3  2  1
sum(mynums) # sum
## [1] 55
min(mynums) # smallest value (minimum)
## [1] 1
max(mynums) # largest value (maximum)
## [1] 10
range(mynums) # minimum and maximum together
## [1]  1 10
diff(range(mynums)) # range: difference between min and max
## [1] 9
mean(mynums)# arithmetic mean, see Ch. 3
## [1] 5.5
sd(mynums)
## [1] 3.02765
median(mynums)
## [1] 5.5
mynums - 5
##  [1]  5  4  3  2  1  0 -1 -2 -3 -4
mynums / 2
##  [1] 5.0 4.5 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5
mynums[1]
## [1] 10
mynums[2]
## [1] 9
mynums[1:4]
## [1] 10  9  8  7
mynums[-2]
## [1] 10  8  7  6  5  4  3  2  1
1:100
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
##  [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
##  [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
##  [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
##  [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
##  [91]  91  92  93  94  95  96  97  98  99 100
mynums > 3
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE
mynums >= 3
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
mynums < 4
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE
mynums <= 4 
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
mynums == 4
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
mynums != 4
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
mylog <- mynums >= 3
class(mylog)
## [1] "logical"
mynums[mylog]
## [1] 10  9  8  7  6  5  4  3
mynums[mynums >= 3]
## [1] 10  9  8  7  6  5  4  3
gender <- c('F', 'M', 'M', 'F', 'F')
gender
## [1] "F" "M" "M" "F" "F"
class(gender)
## [1] "character"
gender[2]
## [1] "M"
gender[gender == 'F']
## [1] "F" "F" "F"
mean(gender)
## Warning in mean.default(gender): argument is not numeric or logical: returning
## NA
## [1] NA
gender <- as.factor(gender)
gender
## [1] F M M F F
## Levels: F M
levels(gender)
## [1] "F" "M"
gender[3] <- 'not_declared'
## Warning in `[<-.factor`(`*tmp*`, 3, value = "not_declared"): invalid factor
## level, NA generated
gender
## [1] F    M    <NA> F    F   
## Levels: F M
levels(gender) <- c('F', 'M', 'not_declared')
gender[3] <- 'not_declared'
gender
## [1] F            M            not_declared F            F           
## Levels: F M not_declared
participant <- c('louis', 'paula', 'vincenzo')
mydf <- data.frame(participant, score = c(67, 85, 32))
mydf
##   participant score
## 1       louis    67
## 2       paula    85
## 3    vincenzo    32
nrow(mydf)
## [1] 3
ncol(mydf)
## [1] 2
colnames(mydf)
## [1] "participant" "score"
mydf$score
## [1] 67 85 32
mean(mydf$score)
## [1] 61.33333
str(mydf)
## 'data.frame':    3 obs. of  2 variables:
##  $ participant: chr  "louis" "paula" "vincenzo"
##  $ score      : num  67 85 32
summary(mydf)
##  participant            score      
##  Length:3           Min.   :32.00  
##  Class :character   1st Qu.:49.50  
##  Mode  :character   Median :67.00  
##                     Mean   :61.33  
##                     3rd Qu.:76.00  
##                     Max.   :85.00
mydf[1,] 
##   participant score
## 1       louis    67
mydf[, 2] 
## [1] 67 85 32
mydf[1:2,]
##   participant score
## 1       louis    67
## 2       paula    85
mydf[, 1][2]
## [1] "paula"
mydf[mydf$participant == 'vincenzo',]
##   participant score
## 3    vincenzo    32
mydf[mydf$participant == 'vincenzo',] $score
## [1] 32