r:mutate_impl(.data,dots)出错:评估错误:找不到对象'72L'

时间:2018-04-02 03:46:34

标签: r dplyr

我正在尝试为r中的单变量时间序列数据运行frame_calendar。当我尝试计算数据框的日历布局时,我收到以下错误。

  

mutate_impl(.data,dots)中的错误:     评估错误:找不到对象'72L'。

从类似的线程中,我看到评估错误:找不到对象''通常是用户在代码中输入的对象。但是,就我而言,我的代码中并没有提到任何'72L'。它也不在我的数据集中。能帮我解决一下如何解决这个错误吗?非常感谢任何帮助。

这是我数据的一部分。

Date_Time   Time    Date    Year    Month   Mdate   Day Hours_Time  Hourly_Counts
1/1/2015 0:00   0:00:00 2015-01-01  2015    January 1   Thursday    1   72
1/1/2015 1:00   1:00:00 2015-01-01  2015    January 1   Thursday    2   48
1/1/2015 2:00   2:00:00 2015-01-01  2015    January 1   Thursday    3   53
1/1/2015 3:00   3:00:00 2015-01-01  2015    January 1   Thursday    4   84
1/1/2015 4:00   4:00:00 2015-01-01  2015    January 1   Thursday    5   68

这是我的代码。

newdata <- read.csv("D:/NEWDATA.csv")
attach(newdata)
View(newdata)

newdata[,3] <- as.Date(Date, origin = "1/1/2000")
attach(newdata)
View(newdata)


library(dplyr)
# compute the calendar layout for the data frame
calendar_df <- newdata %>%
  filter(Year == 2015) %>%
  frame_calendar(x = Time, y = Hourly_Counts, date = Date)

1 个答案:

答案 0 :(得分:0)

这里的主要问题是,当你attach()数据框首先掩盖你需要的一些对象时。通常,请勿使用attach。如果您要使用附加数据集,请在调用with时使用它,当然不要将其与dplyr或其他tidyverse函数结合使用。

使用干净的环境(不附加任何数据或名称空间),始终使用dplyr方法,如下所示。除了不附加,请注意代码的其他两个更改。 (1)使用mutateDate管道中设置dplyr列。 (2)x = Hours_Time,而不是Time。如果您以前运行过attach(new_data),请先执行detach(new_data),直到您拥有干净的环境。 如果您多次运行,则需要多次detach次。

library(dplyr)
library(sugrrants)
new_data %>%
  mutate(Date = as.Date(Date, origin = "1/1/2000")) %>%
  frame_calendar(x = Hours_Time, y = Hourly_Counts, date = Date)
#       Date_Time    Time Year   Month Mdate      Day Hours_Time Hourly_Counts       Date
# 1 1/1/2015 0:00 0:00:00 2015 January     1 Thursday          1            72 2015-01-01
# 2 1/1/2015 1:00 1:00:00 2015 January     1 Thursday          2            48 2015-01-01
# 3 1/1/2015 2:00 2:00:00 2015 January     1 Thursday          3            53 2015-01-01
# 4 1/1/2015 3:00 3:00:00 2015 January     1 Thursday          4            84 2015-01-01
# 5 1/1/2015 4:00 4:00:00 2015 January     1 Thursday          5            68 2015-01-01
#   .Hours_Time .Hourly_Counts
# 1    1.454167      0.6833333
# 2    1.691667      0.0500000
# 3    1.929167      0.1819444
# 4    2.166667      1.0000000
# 5    2.404167      0.5777778

数据:

new_data <- read.table(text = "Date_Time   Time    Date    Year    Month   Mdate   Day Hours_Time  Hourly_Counts
'1/1/2015 0:00'   0:00:00 2015-01-01  2015    January 1   Thursday    1   72
                       '1/1/2015 1:00'   1:00:00 2015-01-01  2015    January 1   Thursday    2   48
                       '1/1/2015 2:00'   2:00:00 2015-01-01  2015    January 1   Thursday    3   53
                       '1/1/2015 3:00'   3:00:00 2015-01-01  2015    January 1   Thursday    4   84
                       '1/1/2015 4:00'   4:00:00 2015-01-01  2015    January 1   Thursday    5   68", header = TRUE, stringsAsFactors = FALSE)