R 在与其他单元格匹配的条件下填充空的不可重复的空单元格
嗯。下面我有一个例子 在第9行、第10行和第11行中,我们有相同的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
。我需要为所有三个设置相同的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()