R 在与其他单元格匹配的条件下填充空的不可重复的空单元格

R 在与其他单元格匹配的条件下填充空的不可重复的空单元格,r,function,dataframe,dplyr,tidyverse,R,Function,Dataframe,Dplyr,Tidyverse,嗯。下面我有一个例子 在第9行、第10行和第11行中,我们有相同的。我需要为所有三个设置相同的ID=“/code>”,就像在第一种情况下一样——“141330”。 我在尝试case_的时候和if_else,但似乎我需要在这里编写函数 库(data.table) 图书馆(tidyverse) 订单% 分组依据(id,`Сззззззззззз`,Сазззз 总结(`IDззззы`,Фз=sum(Фз,na.rm=T),Сааз=sum(Саа,na.rm=T)) 订单1 #>#tibble:1

嗯。下面我有一个例子

在第9行、第10行和第11行中,我们有相同的
。我需要为所有三个设置相同的
ID=“/code>”,就像在第一种情况下一样——“141330”。
我在尝试case_的时候和if_else,但似乎我需要在这里编写函数

库(data.table)
图书馆(tidyverse)
订单%
分组依据(id,`Сззззззззззз`,Сазззз
总结(`IDззззы`,Фз=sum(Фз,na.rm=T),Сааз=sum(Саа,na.rm=T))
订单1
#>#tibble:12 x 6
#>#组:id,БМзззззз[12]
#>内径:ФПССзззСзСзз
#>                                                   
#>  1 11061 180618-11061   Отменен                         "66843"       66.0   218
#>  2 20752 260219-20752   Отменен                         "98537"        0     928
#>  3 24450 040619-24450   Отменен                         "108330"       0     -51
#>  4 24552 060619-24552   Отменен                         "108516"     -53.8   -22
#>  5 33064 241219-33064   Отменен                         "134157"       0     260
#>  6 35137 070220-35137   Доставлен                       ""           492.   1520
#>  7 36117 290220-36117   Передан на склад                "141275"       0     326
#>  8 36142 290220-36142   Передан на склад                "138181"       0     999
#>  9 36147 010320-36147   Передан на склад                "141330"       0    1025
#> 10 36155 010320-36147   Передан на отгрузку (отправлен… ""             0     335
#> 11 36157 010320-36147   Передан на отгрузку (отправлен… ""             0     592
#> 12 4548  4361           Доставлен                       "41096"      472.   1678

由(v0.3.0)创建于2020-03-02。您可以使用
zoo
软件包在缺少的行中填充最新值

这里有一个例子

a <- c(1,2,"","",3,"","")

> a
[1] "1" "2" ""  ""  "3" ""  "" 

a[a==""] <- NA

> a
[1] "1" "2" NA  NA  "3" NA  NA

library(zoo)

na.locf(a)
[1] "1" "2" "2" "2" "3" "3" "3"

如果所有值都是数字,并且值与相同的
和不同的
ID的值没有冲突,一个选项是使用
分组依据()
变异()
,以解决此问题:

 orders2 <- orders1 %>% group_by(`Номер заказа`) %>%
            mutate(`ID корзины` = median( `ID корзины`, na.rm = T)) %>%
            ungroup()
orders2%分组依据(`href\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\>%
变异(`IDзззы`=中值(`IDззы`,na.rm=T))%>%
解组()

这样,所有具有相同
的行都将具有相同的
ID=“/code>”(作为它们的中位数,如果有多个)。

我不需要填充所有缺失的值,只要
的值相同
 orders2 <- orders1 %>% group_by(`Номер заказа`) %>%
            mutate(`ID корзины` = median( `ID корзины`, na.rm = T)) %>%
            ungroup()