代写Practice Exam 1调试数据库编程

- 首页 >> Database

Practice Exam 1

Instructions:

• The complete Practice Exam 1 questions are in this file.

•  Practice Exam 1 will NOT count toward the final course grade.

• The first 10 questions are used as examples to show the question types on Canvas.

• The question types include multiple choice, multiple answers, fill in blank(s), essay question (like Question 7 below), TRUE/FALSE, etc.

• The questions like multiple choice, multiple answers, TRUE/FALSE will be graded automatically by Canvas.

• The questions like fill in blank(s) and essay questions will be graded manually. Typos will not result in point deductions.

• A Practice Exam 1 - Canvas (ProctorU) version is also provided for ProctorU practice run purpose. It’s optional.

Question 1

Which one below can stop the while loop: while(i <= 10){expr}? i being 11, 10, 5, or 1?

Question 2

The while loop is

i  <- 1

y  <- 1

while (y * i < 1000){

i  <- i + 1

y  <- y * i

}

What is the value of i after running the while loop?

Question 3

What is the value of s after running the code below?

x  <- c(10 ,  0.03 ,  0.04 ,  1 ,  0.001 ,  0.05)

s  <- 0

for (e in x)  {

if (e > 0.1)

next

print (e)

if (e < 0.01)

break

s  <- s + e

}

##  [1]  0 .03

##  [1]  0 .04

##  [1]  0 .001

Question 4

Write down the output of the following codes.

fridge  <- c("spam" ,  "spam" ,  "bacon" ,  "eggs")

for (food in fridge)

cat (sprintf ("%s,  ",  food))

##  spam,  spam,  bacon,  eggs,

Question 5

Suppose the list object lst is defined as below:

lst  <- list (

name  =  "Fred" ,

wife  =  "Mary" ,

no .children  =  3 ,

child .ages  = c(4 ,  7 ,  9)

)

To get the output below, which command can be used?  (Select all that apply)

##  [1]  4  7

Question 6

Which of the following commands can generate the matrix below?  (Select all that apply)

##            [,1]     [,2]    [,3]    [,4]    [,5]

##  [1,]        1        5        9      13      17

##  [2,]        2        6      10      14      18

##  [3,]        3        7      11      15      19

##  [4,]        4        8      12      16      20

Question 7

Why the following codes fail to work?

x=1 :10

for (i in x){

if (x[i] %% 5 != 0)

x[i]  =  "XXX"

else

x[i]  = as.character (x[i])

}

Question 8

Avoid using functions mean(), sum(), sd() built in r, using for loop to write the functions mean_for() and sd_for() to calculate the sample mean and sample standard deviation of a vector.  You may use the function length(). At the end, compare the mean_for() and sd_for() and mean() and sd() using one vector, like vec  =  1:10.

Recall that for the vector x = c(x1 , · · · , xn ), the sample mean and sample standard deviation are calculated as follows:

Question 9

If x = 5L, then typeof(x) is “numeric”, and mode(x) is “integer”.

Question 10

If x = “5L”, then typeof(x) is “character”, and mode(x) is “character”.

Question 11

What is wrong with the following code? How to modify the code?

j  <- 1

while (j <= 10)  {

if (j %% 2 == 0) next

print (j)

j  <- j + 1

}

Question 12

The code below simulates dice casting until we throw “1”.

set.seed(123)

i <- 1

repeat {

if (runif(1) < 1/6) break

i <- i+1

}

print(i)

##  [1]  6

(a) What does set.seed(123) do? Why do we need it?

(b) What does runif(1) mean?

(c) What does the result 6 mean?

Question 13

The apply function can be used to summarise individual rows or columns in a matrix:

•  apply(A,  1,  f) applies a given function f on each row of a matrix A (over the first axis),

•  apply(A,  2,  f) applies f on each column of A (over the second axis).

Given the matrix A below. Please use apply() functions to get the means, standard deviation, maximum, range, Q1, by row and by column.

(A  <- matrix (1 :36 ,  byrow=TRUE ,  nrow=6))

##

[,1]

[,2]

[,3]

[,4]

[,5]

[,6]

## [1,]

1

2

3

4

5

6

## [2,]

7

8

9

10

11

12

## [3,]

13

14

15

16

17

18

## [4,]

19

20

21

22

23

24

## [5,]

25

26

27

28

29

30

## [6,]

31

32

33

34

35

36

Question 14

Please download the “marketing AB.csv” dataset from Canvas, then read it into R and save it as a data frame named marketing. The variable descriptions are:

• Index: Row index

•  user id: User ID (unique)

• test group:  If “ad” the person saw the advertisement,  if “psa” they only saw the public service announcement

•  converted: If a person bought the product then True, else is False

• total ads: Amount of ads seen by person

•  most ads day: Day that the person saw the biggest amount of ads

•  most ads hour: Hour of day that the person saw the biggest amount of ads

(a)  Find the dimension of the data frame.

(b)  Remove the first column from the data frame.

(c)  Use the apply() function to find how many unique values in each column.

(d)  Find the percentages of “converted” for each group (“ad” and “psa”).

(e)  List the first five observations that the person saw the largest amount of ads.

Question 15

Generate the mixed normal distribution.

(a) Write the R code to generate the mixture Z = 0.2X + 0.8Y of two normal distributions X ~ N (−2, 0.5) and Y ~ N (3, 1). You may use rnorm(). Assume the sample size n = 1000. Please use the vectorized if statement ifelse(). For replication purposes, please use set.seed(123).

(b)  Use the ‘hist()’ function to visualize the bimodal distribution of the data from this mixed normal

distribution. Please add probability = TRUE within hist().

Question 16

Generate the following matrix. You may use the rep() function.

##

[,1]

[,2]

[,3]

[,4]

## [1,]

1

5

9

13

## [2,]

2

6

10

14

## [3,]

2

6

10

14

## [4,]

3

7

11

15

## [5,]

3

7

11

15

## [6,]

3

7

11

15

## [7,]

4

8

12

16

## [8,]

4

8

12

16

## [9,]

4

8

12

16

##  [10,]        4        8      12      16

Question 17

In R, you can perform three different types of multiplications on vectors: element-wise multiplication, matrix multiplication, and outer product. For example, let = (1, 2, 3, 4, 5) and y = (2, 4, 6, 8, 10).

x  <- c(1 ,  2 ,  3 ,  4 ,  5)

y  <- c(2 ,  4 ,  6 ,  8 ,  10)

• The element-wise multiplication is

x * y

##  [1]    2    8  18  32  50

• The inner product, which is 1 * 2 + 2 * 4 + ... + 5 * 10 could be calculated using

x %*% y

##            [,1]

##  [1,]    110

crossprod(x, y)

##            [,1]

##  [1,]    110

• The outer product is

x %o% y

## [,1] [,2] [,3] [,4] [,5]

## [1,] 2 4 6 8 10

## [2,] 4 8 12 16 20

## [3,] 6 12 18 24 30

## [4,] 8 16 24 32 40

## [5,] 10 20 30 40 50

outer(x, y)

## [,1] [,2] [,3] [,4] [,5]

## [1,] 2 4 6 8 10

## [2,] 4 8 12 16 20

## [3,] 6 12 18 24 30

## [4,] 8 16 24 32 40

## [5,] 10 20 30 40 50

Based on the above facts, describe how the following two calculations involving matrix A and vector c(1, 2, 3, 4) are performed.

A <- matrix(1:16, nrow = 4)

(a)

A * c(1, 2, 3, 4)

## [,1] [,2] [,3] [,4]

## [1,] 1 5 9 13

## [2,] 4 12 20 28

## [3,] 9 21 33 45

## [4,] 16 32 48 64

(b)

A %*% c(1, 2, 3, 4)

## [,1]

## [1,] 90

## [2,] 100

## [3,] 110

## [4,] 120




站长地图