【发布时间】:2022-01-01 23:35:24
【问题描述】:
我正在编写一个列出各种商品的销售价格的 r 程序。我有一个名为 InvoiceDate 的列,其中列出的日期和时间如下:'12/1/2009 7:45'。我试图仅将日期隔离在一个名为日期的单独字段中,然后按顺序排列日期。我使用的代码如下:
library(dplyr)
library(ggplot2)
setwd("C:/Users/cshor/OneDrive/Environment/Restoration_Ecology/Udemy/Stat_Thinking_&_Data_Sci_with_R/Assignments/Sect_5")
retail_clean <- read.csv("C:/Users/cshor/OneDrive/Environment/Restoration_Ecology/Udemy/Stat_Thinking_&_Data_Sci_with_R/Data/retail_clean.csv")
retail_clean$date <- as.Date(retail_clean$InvoiceDate)#, format = "%d/%m/%Y")
total_sales = sum(retail_clean$Quantity, na.rm=TRUE) %>%
arrange(retail_clean$date) %>% ggplot(aes(x=date, y=total_sales)) + geom_line()
最初,一切正常,并且创建了日期字段。但是,我收到了安排()函数的以下错误:
Error in UseMethod("arrange") :no applicable method for 'arrange' applied to an object of class "c('integer', 'numeric')"
我已经搜索了一个多星期来寻找解决此问题的方法,但没有找到任何专门解决此问题的方法。我还使用了 '.asPosixct' 而不是 .asDate,结果相似。对于程序为何将日期数据解释为数字以及如何纠正问题的任何帮助,将不胜感激。
【问题讨论】:
-
尝试:
library(lubridate),然后将..改为arrange(dmy(retail_clean$date)) -
谢谢你的评论,鬣狗。我试图通过这种方式推理,但无济于事。请让我知道此信息是否有用:在'retail_clean$date
标签: r function dplyr data-science