【发布时间】:2018-02-19 10:28:18
【问题描述】:
数据是这样的:
quarter name week value
17Q3 abc 1 0.7
17Q3 abc 3 0.65
17Q3 def 1 0.13
17Q3 def 2 0.04
我可以在缺少一周值的地方插入 value=0 的行,即输出应该是这样的:
quarter name week value
17Q3 abc 1 0.7
17Q3 abc 3 0.65
17Q3 abc 2 0.0
17Q3 def 1 0.13
17Q3 def 2 0.04
17Q3 def 3 0.0
需要填写到第 13 周。(即检查到 13)
【问题讨论】:
-
试试
library(dplyr);df1 %>% complete(quarter, name, week = full_seq(week, 1), fill = list(value = 0)) %>% arrange(quarter, name, id) %>% mutate(id = row_number()) %>% select(names(df1)) -
谢谢..我已经尝试了 library(dplyr);df1 %>% complete(quarter, name, week = full_seq(week, 1), fill = list(value = 0)) ..得到类似找不到函数完成的错误
-
complete来自tidyr抱歉 -
非常感谢..解决了这个问题。
-
实际上我没有 id 列。在上面提到的代码之后,我得到了重复的行。库(tidyr);df1 %>% 完成(季度,名称,周 = full_seq(周,1),填充 = 列表(值 = 0))。