as_mapper.f,...中的错误:找不到对象

问题描述

我有一个如下所示的数据框

# A tibble: 4 x 2
    iden date      
  <dbl> <date>    
1     1 2011-02-21
2     2 2013-03-11
3     3 NA        
4     4 NA 

我正在尝试执行以下命令

 data <- data %>%
      map(c(test,delta),as.name) %>%
      setNames(c("test","delta"))

但是我收到以下错误

as_mapper(.f,...)中的错误:找不到对象'iden'

但是,当我像下面这样重写上面的命令时,我得到如下所示的输出

map(c(data$test,data$delta),as.name)
  1. 我可以知道为什么该代码不能与%>%运算符一起使用吗?

  2. 我可以知道为什么将日期值更改为输出中的数字吗?

解决方法

我不清楚您要在这里做什么,而是要回答您的问题-

  1. 我可以知道为什么代码不能与%>%运算符一起使用

因为这是管道的工作方式。管道的左侧是右侧函数的第一个参数。所以当你这样做

data %>% map(c(iden,date),as.name)

您实际上在做:

map(data,c(iden,as.name)

返回相同的错误。

as_mapper(.f,...)中的错误:找不到对象“ iden”。


第二个问题:

我可以知道为什么将日期值更改为输出中的数字吗?

我不知道为什么,但是日期在内部存储为自1970-01-01以来的天数,可以通过将日期更改为数字来进行验证。

as.numeric(data$date)
#[1] 15026 15775    NA    NA

您得到的输出是相似的数字。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...