首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何创建变量"DayOfWeek“而不缺少一天的绘图时间?

如何创建变量"DayOfWeek“而不缺少一天的绘图时间?
EN

Stack Overflow用户
提问于 2016-11-11 23:17:28
回答 2查看 151关注 0票数 0

我已经创建了一个算法来创建变量DayOfWeek (星期一、星期二等)。当我设计它的时候,它总是以某种方式错过一天。此外,在策划时,日子不正常(它显示:星期二,星期五,星期日等)。变量InvoiceDate类似于12/1/10 8:26。我怎样才能解决这些问题?

代码语言:javascript
代码运行次数:0
运行
复制
data$DayOfWeek <- c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"
                , "Saturday","Friday")[as.POSIXlt(as.Date(data$InvoiceDate,"%d/%m/%Y"))$wday + 1]

每天销售时间序列

代码语言:javascript
代码运行次数:0
运行
复制
timeseriesperday <- split(data$DayOfWeek, data$InvoiceNo)  # Convert data in the list
timeseriesperday <- as(timeseriesperday,"transactions") # Convert dates to transcriptions
itemFrequencyPlot(timeseriesperday,type="absolute", main="Sales time series per day",
              xlab="Day of the Week", ylab="Amount of Sales")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-11 23:33:16

您是否尝试过将DayOfWeek转换为具有所需级别的factor

代码语言:javascript
代码运行次数:0
运行
复制
listOfWeekdays <- c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
                    "Friday", "Saturday")
data$DayOfWeek <- listOfWeekdays[as.POSIXlt(as.Date(data$InvoiceDate,"%d/%m/%y"))$wday + 1]
data$DayOfWeek <- factor(data$DayOfWeek, levels = listOfWeekdays)

正如@42所指出的,格式字符串需要在2位数的年份中使用小写的%y (例如10),而大写的%Y则需要4位数的年份(例如2010)。

票数 2
EN

Stack Overflow用户

发布于 2016-11-11 23:48:24

你不必自己创建工作日的清单。我建议签出润滑油包装,您可以用它在时间戳上调用函数wday()来返回当天。

如果invoicedate的示例是周一,wday(invoicedate)将返回2,而wday(invoicedate, label = TRUE将返回Mon (因为这个包的周从星期日开始:Levels: Sun < Mon < Tues < Wed < Thurs < Fri < Sat )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40557683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档