填写该列,直到另一列中有带有 R 的文本

问题描述 投票:0回答:1

我需要完成该列,只要另一列中有文本

当前数据框

first_column <- c("eeer","","","sdfdfdsf", "sdfsdfdsf","faffa", "we", "", "", "", "", "", "eeee", "", "wqwq", "", "ttetxg", "", "sf", "sf","f", "dfsdf", "sqdweg", "sfsfdsdvghhh", "")
second_column <- c("","", "","", "", "", "", "renato paulo", "", "", "", "", "", "carlos gomes", "", "", "", "vitor", "","","","","","", "Cassia rabelo")
current_dataframe <- data.frame(first_column, second_column)

期望的输出

first_column <- c("eeer","","","sdfdfdsf", "sdfsdfdsf","faffa", "we", "", "", "", "", "", "eeee", "", "wqwq", "", "ttetxg", "", "sf", "sf","f", "dfsdf", "sqdweg", "sfsfdsdvghhh", "")
second_column <- c("","", "","renato paulo", "renato paulo", "renato paulo", "renato paulo", "", "", "", "", "", "carlos gomes", "", "", "", "vitor", "", "Cassia rabelo","Cassia rabelo","Cassia rabelo","Cassia rabelo","Cassia rabelo","Cassia rabelo", "")
desired_output <- data.frame(first_column, second_column)

我尝试使用 fill downup 功能,但它没有按照我的需要工作。有人可以帮助我吗?

r dplyr tidyverse tidy mutate
1个回答
0
投票

一种方法,包括将 second_column 向上移动一位。

library(dplyr)

data.frame(first_column = current_dataframe$first_column, 
           second_column = c(
             current_dataframe$second_column[2:nrow(current_dataframe)], "")) %>% 
  group_by(grp = consecutive_id(first_column != "")) %>% 
  mutate(second_column = last(second_column)) %>% 
  ungroup() %>% 
  select(-grp) %>% 
  data.frame()
   first_column second_column
1          eeer              
2                            
3                            
4      sdfdfdsf  renato paulo
5     sdfsdfdsf  renato paulo
6         faffa  renato paulo
7            we  renato paulo
8                            
9                            
10                           
11                           
12                           
13         eeee  carlos gomes
14                           
15         wqwq              
16                           
17       ttetxg         vitor
18                           
19           sf Cassia rabelo
20           sf Cassia rabelo
21            f Cassia rabelo
22        dfsdf Cassia rabelo
23       sqdweg Cassia rabelo
24 sfsfdsdvghhh Cassia rabelo
25                           
© www.soinside.com 2019 - 2024. All rights reserved.