Traspasar ID duplicados

Es esto lo que quieres hacer?

library(tidyverse)

sample_df <- data.frame(
  stringsAsFactors = FALSE,
                ID = c(1, 2, 2, 3, 3, 3, 4),
           Varocup = c("ocup1","ocup1","ocup3",
                       "ocup2","ocup4","ocup5","ocup3")
)

sample_df %>%
    mutate(value = 1) %>% 
    pivot_wider(id_cols = ID, names_from = Varocup, values_from = value)
#> # A tibble: 4 × 6
#>      ID ocup1 ocup3 ocup2 ocup4 ocup5
#>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1     1     1    NA    NA    NA    NA
#> 2     2     1     1    NA    NA    NA
#> 3     3    NA    NA     1     1     1
#> 4     4    NA     1    NA    NA    NA

Created on 2022-11-08 with reprex v2.0.2

Si esto no resuelve tu pregunta, por favor proporciona un ejemplo minimo reproducible ilustrando tu problema.

Nota: Por favor intenta hacer tus preguntas en inglés, ya que es el idioma preferido aquí y al usar español estás excluyendo a la mayoría de la conversación, reduciendo así tus posibilidades de obtener ayuda.