% mutate(category = first(cat-6ren">
gpt4 book ai didi

r - 如何根据 R 中另一列的值填充空白

转载 作者:行者123 更新时间:2023-12-02 01:30:03 24 4
gpt4 key购买 nike

这是代码和生成的数据框

category <- c("East","BLANK","NorthEast","BLANK","BLANK")
subcat <- c("East","North","SW","NE","SE")
data1 <- as.data.frame(category)
data1$subcat <- subcat


**Category** **Subcat**
East East
BLANK North
NorthEast SW
BLANK NE
BLANK SE

东部类别包含子类别东部和北部。东北类别包含子类别 SW、NE、SE。正如您所看到的,每个类别都有空白。我该如何使类别中的第二个值是东部,第四行和第五行是东北?我在实际数据中有更多行,因此执行此操作的方法会很有帮助。

结果应该是

**Category**  **Subcat**
East East
*East* North
NorthEast SW
*NorthEast* NE
*NorthEast* SE

最佳答案

这是仅 dplyr 的解决方案:首先,我们按每个非 BLANK 的字符串进行分组,然后用第一个值替换所有组成员:

data1 %>% 
group_by(x = cumsum(category != "BLANK")) %>%
mutate(category = first(category)) %>%
ungroup() %>%
select(-x)
 category  subcat
<chr> <chr>
1 East East
2 East North
3 NorthEast SW
4 NorthEast NE
5 NorthEast SE

关于r - 如何根据 R 中另一列的值填充空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73546474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com