Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在特定上下文中,关于完整、嵌套和替换的含义的问题_R_Dplyr_Tidyverse_Tidyr - Fatal编程技术网

R 在特定上下文中,关于完整、嵌套和替换的含义的问题

R 在特定上下文中,关于完整、嵌套和替换的含义的问题,r,dplyr,tidyverse,tidyr,R,Dplyr,Tidyverse,Tidyr,在 第2行 我的猜测是,replace将数据帧中的所有NA替换为0,但我不确定。真的是这样吗 如果在控制台中键入不带括号的replace,您将看到非常简短的源代码。在整个数据帧上调用它有点奇怪,尽管它确实可以工作,因为矩阵强制和子集。dplyr中更惯用的方法是mutate\u all(coalesce,0)complete为提供的元素组合添加行。在嵌套中包装的列将被视为单个元素。更简单的例子:tibble(x=1:3,y=4:6,z=c(7,8,8))%%>%完成(x,嵌套(y,z))@alis

第2行


我的猜测是,
replace
将数据帧中的所有NA替换为0,但我不确定。真的是这样吗

如果在控制台中键入不带括号的
replace
,您将看到非常简短的源代码。在整个数据帧上调用它有点奇怪,尽管它确实可以工作,因为矩阵强制和子集。dplyr中更惯用的方法是
mutate\u all(coalesce,0)
complete为提供的元素组合添加行。在
嵌套中包装的列将被视为单个元素。更简单的例子:
tibble(x=1:3,y=4:6,z=c(7,8,8))%%>%完成(x,嵌套(y,z))
@alistaire谢谢。语句中的replace是做什么的?我的猜测正确吗?关于第二个例子,我看到x和(y,z)有3种可能,因为y和z是嵌套的,所以完整的生成9行。但如果我完成了(x)-那根本不是嵌套-期望27行(3x3x3),我只得到3行。@alistaire我不明白这一点。“如果在控制台中键入不带括号的替换,您将看到非常短的源代码。”您能详细说明一下吗?要查看
replace
的源代码,请在R会话中运行
replace
,它将打印
函数(x,列表,值){x[列表]
my_Orders = PreviousOrders %>%
  full_join(select(Other_Orders_Redist, Type, Date, ReValue = Previous_Sales, PreviousWeeks),
            by = c('Type', 'Send_Date' = 'Date', 'WeeksPrior')) %>%
  mutate(Previous_Sales = ifelse(is.na(ReValue), Previous_Sales, ReValue)) %>%
  select(Type, Date = Send_Date, Previous_Sales, PreviousWeeks) %>%
  complete(Date = seq.Date(min(HistoricalSales$Date), max(Preious_weeks_orders$Send_Date), by="week"), nesting(Type, PreviousWeeks)) %>%
  filter(Date <= FinalWeek + weeks(PreviousWeeks + 1)) %>%
  mutate(PreviousWeeks = paste0('Orders_Min_', PreviousWeeks + 1, '_Weeks')) %>%
  replace(., is.na(.), 0) %>%
  spread(PreviousWeeks, Previous_Sales)
complete(Date = seq.Date(min(HistoricalSales$Date), max(Previous_weeks_orders$Send_Date), by="week"), nesting(Type,PreviousWeeks)) %>%
replace(., is.na(.), 0) %>%