Thanks, it is still not entirely clear to me but, is this close to what you are trying to accomplish?
library(tidyverse)
data <- data.frame(stringsAsFactors = FALSE,
Id_text = c("1", "2", "3", "4"),
Text = c("Obiettivo del progetto è migliorare i servizi di base dei Paesi in via di sviluppo. I destinatari dell'iniziativa sono la popolazione povera e vulnerabile",
"L'iniziativa mira a favorire l'inclusione finanziaria dei soggetti che versano in estrema povertà",
"Le assimmetrie nella distribuzione della ricchezza sono notevoli in Uganimi,
le classi sociali povere hanno difficoltà basilari",
"la situazione sociale non è più sostenibile,
la gente ha bisogno di protezione sociale e interventi medici urgenti")
)
dictionary <- c("Ambiente", "Uguaglianza", "Povertà estrema", "inclusione finanziaria",
"Reddito", "uguaglianza dei redditi", "Microfinanza","Non discriminazione",
"Poveri e vulnerabili", "Povertà", "eliminazione della povertà",
"Soglia di povertà", "Qualità della vita", "risorse", "protezione sociale",
"sostenibile", "distribuzione della ricchezza")
data %>%
bind_cols(dictionary %>%
set_names() %>%
map_dfc(~str_detect(data$Text, .x)) %>%
mutate_all(as.numeric)) %>%
as_tibble() # This is just for friendly console printing
#> # A tibble: 4 x 19
#> Id_text Text Ambiente Uguaglianza `Povertà estrem… `inclusione fin… Reddito
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 Obie… 0 0 0 0 0
#> 2 2 L'in… 0 0 0 1 0
#> 3 3 "Le … 0 0 0 0 0
#> 4 4 "la … 0 0 0 0 0
#> # … with 12 more variables: `uguaglianza dei redditi` <dbl>,
#> # Microfinanza <dbl>, `Non discriminazione` <dbl>, `Poveri e
#> # vulnerabili` <dbl>, Povertà <dbl>, `eliminazione della povertà` <dbl>,
#> # `Soglia di povertà` <dbl>, `Qualità della vita` <dbl>, risorse <dbl>,
#> # `protezione sociale` <dbl>, sostenibile <dbl>, `distribuzione della
#> # ricchezza` <dbl>
Created on 2019-11-23 by the reprex package (v0.3.0.9000)