Provavelmente já respondido, mas estou com dificuldade para encontrar a resposta para esta pergunta: Em uma nova coluna 'new_text', como preencher um texto fornecido com outro texto fornecido, e assim por diante...
No exemplo abaixo, como preencher 'Potter' com 'Wisley' e depois 'Wisley' com 'Granger', etc...?
A ideia é aplicar a solução proposta a dataframes de milhares de linhas (obtidos com pdftools::pdf_data) selecionando uma sequência de palavras específicas para preencher dessa maneira.
Obrigado pela ajuda.
> dat0
text new_text
1 Potter Potter
2 hj7d Potter
3 kl8ep Potter
4 f3d Potter
5 rtyzs2 Potter
6 Wisley Wisley
7 lq6s Wisley
8 2fg Wisley
9 Granger Granger
10 r8ka Granger
11 h9 Granger
12 qm9ne Granger
Dados:
dat0 <-
structure(list(text = c("Potter", "hj7d", "kl8ep", "f3d", "rtyzs2",
"Wisley", "lq6s", "2fg", "Granger", "r8ka", "h9", "qm9ne"), new_text = c("Potter",
"Potter", "Potter", "Potter", "Potter", "Wisley", "Wisley", "Wisley",
"Granger", "Granger", "Granger", "Granger")), class = "data.frame", row.names = c(NA,
-12L))
Uma maneira é converter os não-nomes para NA e então usar
fill
fromtidyr
. Você precisará configurar as palavras específicas (nomes) que deseja manter primeiro.Obviamente que a solução do @Edward
fill
é a opção mais concisa para o seu problema, você definitivamente não vai querer perder isso.Minha solução é construída na base R (se você estiver interessado e jogar por diversão), onde você pode usar
cumsum
+%in%
+ave
como abaixoo que dá
dados