as.POSIXlt.character(x,tz,...)出错:字符串不是标准的明确格式

时间:2017-04-17 12:48:11

标签: r excel date quantmod

我使用从excel导入的数据集:

OBX <- read_excel("C:/Users/neri_/Desktop/OBX Weekly Return.xlsx")

         Date          OBX
1   2010-12-28    0.0071366
2   2010-12-29  4.97265e-05
3   2010-12-30  -0.00452489
4   2011-01-03   0.00896603
5   2011-01-04   -0.0101488
6   2011-01-05   0.00520143
7   2011-01-06 -0.000422917
8   2011-01-07  -0.00301145
9   2011-01-10  -0.00341996
10  2011-01-11     0.013326
11  2011-01-12   0.00882484

我正在努力解决此错误消息,

  

“as.POSIXlt.character(x,tz,...)出错:字符串不是标准的明确格式”,   我正在尝试运行代码时遇到的问题:

weeklydata<-to.weekly(OBX).

我想将每日数据转换为每周数据,如何修改日期格式,以便运行to.weekly命令?

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

使用as.Date函数转换:

 mydate<-"2010-12-28 0.0071366"
 mydate<-as.Date(mydate,"%Y-%m-%d")
 format(mydate,"%Y-%U")

答案 1 :(得分:0)

您可以使用date2ISOweek()包中的ISOweek。使用stringr进行模式更新,使用dplyr生成周结果;加载包后代码就像这样。

library(ISOweek)
library(stringr)
library(dplyr)

# mocking up some data 
OBX <- data.frame(
  Date = c("2010-12-28", "2010-12-29", "2010-12-30", "2010-12-31", "2011-01-03", "2011-01-04"),
  OBX = 101:106
)

# transform form month- to week-based and trim some
OBX$dateWeek <- date2ISOweek(OBX$Date)

# get rid of the preceeding "W", next drop day-of-week
OBX$dateWeek <- stringr::str_replace(OBX$dateWeek, "-W", "-")
OBX$dateWeek <- stringr::str_replace(OBX$dateWeek, "-.$", "")

# sum per week and print
OBX %>% 
  group_by(dateWeek) %>%
  summarise(weekSum = sum(OBX))

# the results of the mocked data
# A tibble: 2 × 2
  dateWeek weekSum
     <chr>   <int>
1  2010-52     410
2  2011-01     211

请告诉我这是否符合您的需求。

答案 2 :(得分:0)

我刚开始使用R。我用文件名保存了文件

gdpOz <- read_excel("C:/Users/stand/Documents/1.Excel/GDP_2013-18.xlsx",sheet="Sheet1")

它给出了同样的错误,用read.excel是挑剔和不可预测的, 所以我尝试了此转换,

Date.POSIXlt(Oz[23,],format , tryFormats = c("%Y-%m-%d", "%Y/%m/%d")

和许多其他组合都没有成功, 我发现,excel文件另存为以下内容,将其另存为通用文本,无论如何都证明是完全无法管理的。 Excel save as xlsx

但是,如果您将以下格式转换为短日期格式后另存为csv文件excel short date csv format

然后在R中使用此命令

Oz2 <- read.csv.zoo("C:/Users/stand/Documents/1.Excel/gdpOz.csv")

它转换时没有任何后顾之忧, 问题出在带有xlsx文件的Excels日期格式中,R更喜欢csv文件。 出于某种原因,每次保存或转换任何文件时,如果尝试重新保存同一文件,则必须更改文件名,否则无论如何它都将无法工作。 大多数不是电子表格技术人员或高级用户的人可能从未遇到过太多R的excel问题,或者他们每次都能得到?谁知道?