R as_映射程序(.f,…)中出错:找不到对象

R as_映射程序(.f,…)中出错:找不到对象,r,dataframe,dplyr,purrr,lubridate,R,Dataframe,Dplyr,Purrr,Lubridate,我有一个如下所示的数据帧 # 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 map(c(data$test, data$delta),as.name) 我可以知道为什么代码不能与%%>%%运算符一起使用吗 我可以知道为什么日期值被更改为输出中的数字吗 我不清楚你在这

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

# 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 
map(c(data$test, data$delta),as.name)
  • 我可以知道为什么代码不能与
    %%>%%
    运算符一起使用吗

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


  • 我不清楚你在这里想做什么,只是想回答你的问题-

  • 我可以知道为什么代码不能与%>%运算符一起使用吗
  • 因为这就是管道的工作原理。管道的左侧是右侧函数的第一个参数。所以当你这么做的时候

    data %>% map(c(iden, date),as.name)
    
    你实际上在做:

    map(data, c(iden, date),as.name)
    
    返回相同的错误

    as_映射程序(.f,…)中出错:找不到对象“iden”`


    关于第二个问题:

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

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

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

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

    Hi Ronak!谢谢你的回复。向上投票。我又发布了几行代码
    map(data,c(iden,date),as.name)
    不正确,因为
    ?map
    要求第一个参数作为数据,第二个参数作为函数。在这里你要传递3个参数,这就是为什么你会得到一个错误。要在两列上应用
    as.name
    ,您可以使用
    map
    map(名称(数据),as.name)
    Hi,可以帮我吗?
    as.numeric(data$date)
    #[1] 15026 15775    NA    NA