-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2.2 Answers on homework.R
More file actions
91 lines (66 loc) · 3.65 KB
/
2.2 Answers on homework.R
File metadata and controls
91 lines (66 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
########### ДЗ по векторам ###########
# 1. Cтворіть вектор, який складається з елементів: 46, 580.3, NA, 10, 0, 0, -3, 26, 7.62. Визначте, який тип даних представляє вектор.
# 2. Працюючи з вектором, створеним у попередньому завданні, виведіть, будь-ласка:
# a. Третій елемент вектору.
# b. Перший і сьомий елементи вектору.
# c. Елементи вектору з другого по восьмий.
# d. Суму всіх елементів вектору
# e. Об’єднаний вектор створеного у Завданні 1, і елементів NA, 123, NA
# 3. Створіть вектор, котрий включає всі натуральні числа з 1 до 500.
# 4. Створіть вектор, що включає елементи: 36, d, a, 56, 138, p. Який тип даних міститиме вектор?
# 5. Створіть порядкову змінну (фактор), яка міститиме наступні значення: z, a, a, d, a, z, d, a.
# Зробіть так, щоб фактори йшли у зворотному алфавітному порядку. Продемонструйте це.
# 1
v <- c(46, 580.3, NA, 10, 0, 0, -3, 26, 7.62)
class(v)
# 2
v[3]
v[c(1,7)]
v[2:8]
sum(v)
sum(v, na.rm = TRUE)
v1 <- c(v, NA, 123, NA)
# 3
v2 <- 1:500
# 4
v3 <- c(36, "d", "a", 56, 138, "p")
class(v3)
# 5 первый вариант - вручную обозначить уровни
v4 <- factor(c("z", "a", "a", "d", "a", "z", "d", "a"),
ordered = TRUE,
levels = c("z", "d", "a"))
v4
# 5 второй вариант - объемнее, но автоматизировано
v5.1 <- c("z", "a", "a", "d", "a", "z", "d", "a")
v5 <- factor(v5.1,
ordered = TRUE,
levels = rev(sort(unique(v5.1))))
v5
########### ДЗ по таблицам и спискам ###########
# Создайте список l3
# с вектором v1 со значениями от 156 до 140 в обратном порядке
# и вектором v2 со значениями (3, 2, 3, 2, 1, 2, 1, 2, 3)
# 1. Выведите на экран пятое значение вектора v1 из списка
# 2. Превратите вектор v2 в факторную упорядоченную переменную
# 3. Замените в векторе v2 все значения "2" на NA
l3 <- list(v1 = 156:140,
v2 = c(3, 2, 3, 2, 1, 2, 1, 2, 3))
l3$v1[5] # 1
l3$v2 <- as.factor(l3$v2) # 2
l3$v2[l3$v2 == 2] <- NA # 3
l3$v2
# 1. Создайте таблицу t4 с переменными:
# age = от 20 до 25, повторить 10 раз
# books = c(rep(rep(1:5, times = 6)), by = 2)
# 2. Посчитайте сколько в среднем книг прочитано участниками исследования - функция mean()
# 3. Создайте в таблице новую переменную group
# Которая будет = "good" если книг прочитано больше 3, и "bad" - если 3 и меньше
# 4. Извлеките таблицу, где значение group = "good"
# 5. Посчитайте в новой таблице среднее для переменной age
t4 <- data.frame(age = rep(20:25, 10),
books = rep(rep(1:5, each = 6), times = 2)) # 1
mean(t4$books) # 2
t4$group[t4$books > 3] <- "good"
t4$group[t4$books <= 3] <- "bad" # 3
t5 <- subset(t4, group == "good") # 4
mean(t5$age) # 5