Я хотел бы использовать complete()
(или другой метод), чтобы заполнить столбец, но до определенного уровня значений каждого.
Используя следующие данные:
library(tidyverse)
df <- tribble(~Question_Code, ~RespondentLevel,
"Engagement - Inclusion", 5,
"External engagement - policies", 2,
"External engagement - technology", 5,
"Community data", 5,
"Internal engagement", 5,
"Internal use of technology", 4,
"Familiarity/Alignment", 5,
"Environmental impacts", 5,
"Innovation", 2,
"Use of open-source technology", 2,
"Regulation of hardware & software", 5,
"In-house technical capacity", 5,
"Infrastructure procurement", 5,
"Algorithmic Error & Bias", 2,
"Control: Privacy", 5,
"Accountability in Governance Structures", 3,
"Open procurement", 5,
"Use in decision-making", 1,
"Accountability", 1,
"External Control", 4,
"Internal Control", 2,
"Open Data", 2)
#A tibble: 22 x 2
Question_Code RespondentLevel
<chr> <dbl>
1 Engagement - Inclusion 5
2 External engagement - policies 2
3 External engagement - technology 5
4 Community data 5
5 Internal engagement 5
6 Internal use of technology 4
7 Familiarity/Alignment 5
8 Environmental impacts 5
9 Innovation 2
10 Use of open-source technology 2
# ... with 12 more rows
Например, «Вовлеченность - Включение» - это уровень 5, поэтому я бы хотел, чтобы это «завершилось» как 1,2,3,4,5. «Внешнее взаимодействие - политика», однако, является уровнем 2, поэтому я хотел бы, чтобы оно было завершено только с 1,2.
Использование
df_full <- df %>%
complete(nesting(Question_Code), RespondentLevel) %>%
mutate(RespondentLevel = as.character(RespondentLevel))
# A tibble: 110 x 3
Question_Code RespondentLevel
<fct> <chr>
1 Open Data 1
2 Open Data 2
3 Open Data 3
4 Open Data 4
5 Open Data 5
6 Internal Control 1
7 Internal Control 2
8 Internal Control 3
9 Internal Control 4
10 Internal Control 5
# ... with 100 more rows
Завершено каждое, от 1: 5, но как ограничить это максимальное значение?
Спасибо, я работаю над созданием решения ifelse ().