1.Создайте вектор v, в котором содержатся 10 случайных чисел в диапазоне от -100 до +100.
set.seed(123)
v<-runif(10, min = -100, max = 100)
v
## [1] -42.484496 57.661027 -18.204616 76.603481 88.093457 -90.888700
## [7] 5.621098 78.483809 10.287003 -8.677053
2.Создайте двумерный массив a с двумя матрицами 5×5, в которых содержались бы числа от 1 до 25. Код должен содержать одну строчку!
a<-array(data=1:25, dim=c(5,5,2))
a
## , , 1
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 6 11 16 21
## [2,] 2 7 12 17 22
## [3,] 3 8 13 18 23
## [4,] 4 9 14 19 24
## [5,] 5 10 15 20 25
##
## , , 2
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 6 11 16 21
## [2,] 2 7 12 17 22
## [3,] 3 8 13 18 23
## [4,] 4 9 14 19 24
## [5,] 5 10 15 20 25
3.Создайте еще раз объекты (вектор v и массив a) из упражнений 1 и 2, в той же очередности, а затем создайте список list и поместите в него эти объекты. Сколько элементов получилось? Отобразите список.
set.seed(123)
v<-runif(10, min = -100, max = 100)
a<-array(data=1:25, dim=c(5,5,2))
l<-list(v, a)
l
## [[1]]
## [1] -42.484496 57.661027 -18.204616 76.603481 88.093457 -90.888700
## [7] 5.621098 78.483809 10.287003 -8.677053
##
## [[2]]
## , , 1
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 6 11 16 21
## [2,] 2 7 12 17 22
## [3,] 3 8 13 18 23
## [4,] 4 9 14 19 24
## [5,] 5 10 15 20 25
##
## , , 2
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 6 11 16 21
## [2,] 2 7 12 17 22
## [3,] 3 8 13 18 23
## [4,] 4 9 14 19 24
## [5,] 5 10 15 20 25
a<-numeric(10)
a
## [1] 0 0 0 0 0 0 0 0 0 0
5.Создайте два вектора - a и b, в первом - числа от 1 до 10, во втором от 11 до 20. Перемножьте два вектора, сохранив результат в третьем векторе c. Выведите на экран вектор с с помощью функции print().
a<-1:10
b<-11:20
c<-a*b
print(c)
## [1] 11 24 39 56 75 96 119 144 171 200
6.Измените код так, чтобы количество строк стало равным 5, столбцов 2, и заполнение матрицы было бы по умолчанию, то есть по столбцам:
data <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
A <- matrix(data, ncol=2, nrow=5)
A
## [,1] [,2]
## [1,] 1 6
## [2,] 2 7
## [3,] 3 8
## [4,] 4 9
## [5,] 5 1
7.У вас есть датафрейм df с данными. Добавьте в нее переменную d и запишите в нее переменную c, умноженную на 4.
df<- data.frame(a = c(1:4), b = c("red","yellow","green","white"), c = rnorm(4, mean=0, sd = 1))
df$d<-df$c*4
df
## a b c d
## 1 1 red 1.7150650 6.860260
## 2 2 yellow 0.4609162 1.843665
## 3 3 green -1.2650612 -5.060245
## 4 4 white -0.6868529 -2.747411
1.Создайте функцию, которая будет возвращать сумму двух чисел. Назовите функцию mysum.
mysum<-function() {
return(a+b)
}
mysum()
## [1] 12 14 16 18 20 22 24 26 28 30
2.Создайте функцию, проверяющую принадлежность числа некоторому вектору. Если число в векторе содержится, функция должна вернуть TRUE.
n<-1:6
vect<-function(a=2) {
result<-a=="n"
print(result)
}
в данном примере мы создали вектор от 1 до 6, в результате должно отображатьсьтя принадлежит ли а вектору n. однако что-то не получается(
vect()
## [1] FALSE
3.Создайте функцию, на входе которой будет даваться датафрейм, а на выходе - наименование каждой переменной и тип (класс) данных, которые в них содержатся. Например, переменная1 числовая.
d<-data.frame(a = c(1:3),b=c(2:4),c=c(2,4,6))
new.function<-function(d)
result = class(a,b,c)
4.Создать функцию, аргументами которой являются вектор и число. На выходе функция должна показывать, сколько раз число встречается в данном векторе.
a<-runif(n, min=1, max=6)
a
## [1] 2.639604 5.772518 5.447697 4.464017 4.202534 5.971349
w<-function() {
result=(3=="a")
print(result)
}
3=="w"
## [1] FALSE