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