R 在特定上下文中,关于完整、嵌套和替换的含义的问题
在 第2行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
我的猜测是,
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) %>%