首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对多个数据帧使用PAD函数(来自PADR()包)?

如何对多个数据帧使用PAD函数(来自PADR()包)?
EN

Stack Overflow用户
提问于 2018-07-12 11:54:31
回答 1查看 105关注 0票数 0

我有24个文件(一天中每小时一个,HR_NBR =小时数),我必须在每个文件中放置日期。

作为-目前的数据:

代码语言:javascript
复制
CLNDR_DT    HR_NBR  QTY
01/07/2016  1   6
03/07/2016  1   10

未来数据:

代码语言:javascript
复制
CLNDR_DT    HR_NBR  QTY
01/07/2016  1   6
02/07/2016  NA  NA
03/07/2016  1   10

我可以对每个文件使用pad函数,如下所示:

代码语言:javascript
复制
chil_bev1_1 = pad (chil_bev1_1, interval= "day") # Hour1
chil_bev1_2 = pad (chil_bev1_2, interval= "day") # Hour2

诸若此类。

而且它是有效的。但我想用循环或者LAPPLY。

我试过这两种代码中的几种变体,但没有一种有效:

代码语言:javascript
复制
df1 = data.frame (chil_bev1_1)
df2 = data.frame (chil_bev1_2)
dflist = c("df1","df2")

CODE1:

代码语言:javascript
复制
x = function(df) {df %>% pad}
allpad = lapply(dflist,x)

CODE2:

代码语言:javascript
复制
x = function(df) {pad (df)}

allpad = lapply(dflist,x)

错误是

"x必须是一个数据框架“。

我是新来的。任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 08:57:35

我设法弄明白了。以下是答案:

代码语言:javascript
复制
hour_list = list(chil_bev1_1, chil_bev1_2)
chil_bev1n = lapply (hour_list, function (x) {x %>% complete(CLNDR_DT = seq.Date(min(CLNDR_DT), max(CLNDR_DT), by="day"), fill = list(QTY=0))})

备注:

函数将NAs替换为0。

CLNDR_DT是包含日期的列的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51305016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档