从数据框R

时间:2019-08-11 12:52:28

标签: r dataframe data-manipulation forecastr

我有一个dataframe,字段为list(),但是有时它具有空值,我在查询中尝试了replace(is.null(.), 0),但是什么也没有发生。

我要:

  • list(date=exactly date in the rows, sales=0)代替火车
  • 显示train.sales

这是我的数据框: https://pasteboard.co/IsclvYT.png

数据框内的

内容: https://pasteboard.co/IscmiwV.png

谢谢...

1 个答案:

答案 0 :(得分:2)

由于“火车”是list,因此我们可以遍历list并将NULL元素替换为0

library(tidyverse)
df1 %>%
    mutate(train = map(train, ~ replace(.x, is.null(.x), 0)))

根据评论,OP希望将NULL元素替换为来自“测试”的相应“日期”

df1 %>%
   mutate(train = map2(train, test, ~ if(is.null(.x)) list(date = .y$date, sales = rep(0, length(.y$sales))) else .x))

或使用base R

i1 <- sapply(df1$train, is.null)
df1$train[i1] <- 0