填充r:在X列中填充Na,并带有来自同一ID(Y列)对应关系的值

发布于 2025-02-04 09:59:52 字数 512 浏览 3 评论 0原文

我有这个数据集(如下所示)

db< - as.data.frame(cbind(c(c(1,2,2,2,3,3,3,4,4,4,4,4,5,5),C ('a','b',na,na,'i',na,'d',na,na,na))))

我想从ID列中用相同的correpondance填充v2 na V1。 最后,我希望这个结果

db< - as.data.frame(cbind(c(1,2,2,2,3,3,4,4,4,4,4,4,5,5),c('a' ,'b','b','i','i','d','d','d',d',na,na))))

我试图用唯一 id db_aux< - as.data.frame(cbind(c(1,2,3,4),c('a'','b','i','i','d'))))

但是我想是应用函数才能填写剩下的内容,但我不觉得如何指示相应的索引。

I´ve got this dataset (something like below)

db <- as.data.frame(cbind(c(1,2,2,3,3,4,4,4,5,5),c('a','b',NA,NA,'i',NA,'d',NA, NA, NA)))

I´d like to fill the V2 NA with same correpondance from ID column V1.
At the end I expect this result

db <- as.data.frame(cbind(c(1,2,2,3,3,4,4,4,5,5),c('a','b','b','i','i','d','d','d', NA, NA)))

I´ve tried to make a list with unique ID
db_aux <- as.data.frame(cbind(c(1,2,3,4),c('a','b','i','d')))

but I guess it´s necessary an apply function to fill in what´s left but i´m not figuring how to indicate the corresponding indexation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南七夏 2025-02-11 09:59:52

您可以从tidyr中使用填充,而该方向是更新或倾斜的。

library(tidyverse)

db %>%
   group_by(V1) %>%
   fill(V2, .direction = 'updown')

# A tibble: 10 x 2
# Groups:   V1 [5]
   V1    V2   
   <chr> <chr>
 1 1     a    
 2 2     b    
 3 2     b    
 4 3     i    
 5 3     i    
 6 4     d    
 7 4     d    
 8 4     d    
 9 5     NA   
10 5     NA   

You can use fill from tidyr with the direction being updown or downup.

library(tidyverse)

db %>%
   group_by(V1) %>%
   fill(V2, .direction = 'updown')

# A tibble: 10 x 2
# Groups:   V1 [5]
   V1    V2   
   <chr> <chr>
 1 1     a    
 2 2     b    
 3 2     b    
 4 3     i    
 5 3     i    
 6 4     d    
 7 4     d    
 8 4     d    
 9 5     NA   
10 5     NA   
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文