Dataframe 基于两列向前携带多个列的非Na值
我正在寻找以下解决方案 我希望将非NA值向前传递,但仅限于行C或A中的列名内以及多个列 有人知道如何解决这个问题吗?:)Dataframe 基于两列向前携带多个列的非Na值,dataframe,Dataframe,我正在寻找以下解决方案 我希望将非NA值向前传递,但仅限于行C或A中的列名内以及多个列 有人知道如何解决这个问题吗?:) 谢谢:)您可以使用dplyr和tidyr中的fill功能。您需要分组,以确保只填充来自正确键的值 fill使用上一个条目填充缺少的值,因此确保数据的顺序符合您想要的顺序 library(dplyr) library(tidyr) df %>% group_by(Key) %>% fill(Value) Key Date Value
谢谢:)您可以使用
dplyr
和tidyr
中的fill
功能。您需要分组,以确保只填充来自正确键的值
fill
使用上一个条目填充缺少的值,因此确保数据的顺序符合您想要的顺序
library(dplyr)
library(tidyr)
df %>%
group_by(Key) %>%
fill(Value)
Key Date Value col4 col5
<chr> <chr> <int> <int> <int>
1 A 2001-06 NA NA NA
2 A 2001-07 2 2 NA
3 A 2002-08 2 1 1
4 C 2000-03 1 NA NA
5 C 2000-05 1 1 NA
6 C 2000-07 2 2 NA
库(dplyr)
图书馆(tidyr)
df%>%
分组依据(键)%>%
填充(值)
键日期值col4 col5
2001-06年度不适用
2 A 2001-07 2 2 NA
3 A 2002-08 2 1 1
4 C 2000-03 1不适用
5 C 2000-05 1不适用
6 C 2000-07 2不适用
@Peter,您可以一次填写多个列。只需将它们添加到fill语句中。日期必须按顺序排列(或分组),否则您可能会用后一个月的值填充一个月。