- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数可以从多个字符串输入创建时间戳:
# Create timestamp from date, time, and timezone strings
str_to_dt <- function(date_str, time_str, tz_str){
as.POSIXlt(x = paste(date_str, time_str), format = "%m/%d/%Y %H:%M",
tz = tz_str)
}
我有输入值数组:
dates <- c("01/23/1945", "11/11/1911")
times <- c("12:12", "13:13")
tzones <- c("Pacific/Guam", "America/New_York")
由于 as.POSIXlt
仅采用常量 tz
,而不是向量,因此我必须循环遍历这些。以下 for 循环产生我想要的输出,但我更愿意了解如何在 plyr
中执行此操作。
ts <- as.POSIXlt(rep(NA,length(dates)))
for(i in 1:length(dates)){
ts[i] <- str_to_dt(date_str = dates[i],
time_str = times[i],
tz_str = tzones[i])
}
ts
[1] "1945-01-23 11:11:00 GST" "1911-11-11 13:13:00 EST"
当我使用maply
时,我得到了日期时间的分量向量列表,这不是我想要的。
mapply(FUN=str_to_dt, date_str=dates, time_str=times, tz_str=tzones) # decomposed
当我使用 mlply
时,我可以获得正确的 2 个 POSIXlt 结果的列表:
library(plyr)
mlply(.data=data.frame(date_str = dates, time_str = times,
tz_str = tzones, stringsAsFactors=FALSE),
.fun=str_to_dt)
但我无法将它们放回到数组中,因为 unlist
完全分解了 POSIXlt。类似的函数 maply
给我一个错误:
maply(.data=data.frame(date_str = dates, time_str = times, tz_str = tzones,
stringsAsFactors=FALSE),
.fun=str_to_dt) # Error: Results must have one or more dimensions.
如何修复错误以使 maply
正常工作,或者有更好的方法吗?
最佳答案
c()
会将列表转换为类型化向量,但前提是您间接调用它。
> d <- as.POSIXlt(Sys.Date())
> dlist <- list(d,d)
> do.call(c, dlist)
[1] "2014-09-17 17:00:00 PDT" "2014-09-17 17:00:00 PDT"
> str(do.call(c, dlist))
POSIXlt[1:2], format: "2014-09-17 17:00:00" "2014-09-17 17:00:00"
关于arrays - 在 R 中,将函数应用于多个输入以返回 POSIXlt 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25919288/
当 R 在此命令上抛出警告消息时 `setwd("~/Desktop/Project R") Warning message: In format.POSIXlt(as.POSIXlt(x), ...
大家好,我在将时间戳转换为 POSIXlt 时遇到问题,稍后需要从这个时间戳中提取 Year,month,dayofmoth,hour,min,sec 2015-12-01 00:04:39
我在这里关注了一些有关如何将字符向量转换为日期时间类的问题。我经常看到两种方法,strptime 和 as.POSIXct/as.POSIXlt 方法。我查看了这两个函数,但不清楚它们有什么区别。 s
在R中将unix时间戳转换为datetime对象时,为什么会看到差异? > as.POSIXlt(1268736919, origin="1970-01-01", tz="America/New_Yo
这个问题在这里已经有了答案: Why does unlist() kill dates in R? (2 个回答) 5年前关闭。 我有一个多级列表对象,其中所有元素都属于 POSIXlt 类: [[1
我正在创建一些随机数: data dataframe X1 X2 1 0.7981783 0.13233858 2 0.9592338 0.05512942 3 0
data.frame 的列之一是“字符” 例如:2012 年 3 月 31 日晚上 9:56:53 /> class(columnName) [1] "character" />ttable[,c(
我最近遇到了将 POSIXlt 日期对象与日期字符串进行比较的 R 代码。 as.POSIXlt.date("2007-02-02") >= "2007-02-01" [1] FALSE 结果,至少对
当我尝试在我的数据集中为“date”(class=POSIXlt 的变量)本地化时间时遇到错误。示例代码如下: # All dates are coded by survey software in
假设我有一个 POSIXct 对象的输入向量: times.input <- c( as.POSIXct('2013-01-01 00:00:00', tz='GMT'), as.POSIXc
非常基本,只是不明白 tz 论点是什么,如果不是因为这个...... dateIWantToConvert <- as.Date("2013-06-01") #the format of my sta
我有个问题。我下载了数据并将日期转换为 POSIXlt 格式 df% group_by(days) %>% summarise(sum=sum(value)) 我有一个错误: 错误:“transact
我试图使用 Posix 时间的 Sys.Date() 获取昨天的最后一分钟。 force_tz(as.POSIXlt(Sys.Date()-1), tz = 'America/New_York') +
假设我有以下数据 plt <- seq(as.POSIXlt("2010-01-01 01:20:30"), as.POSIXlt("2010-12-31 12:00:30"),
我有以下问题:我得到的数据中的日期列包含由于夏令时不存在的日期。 (例如2015-03-29 02:00在中欧时间不存在,因为DST在这一天生效,时钟直接设置为01:59到03:00) 是否有一种简单
这是一个奇怪的神器。我正在将数以万计的字符向量转换为日期时间类,如下所示: alles$DateTime=as.POSIXct(alles$roughdate, tz="EST",format="%Y
美好的一天 我在此处的一篇文章中读到“函数 Forecast::plot.forecast 并非设计用于与 axis.Date 或 axis.POSIXct (在包 Forecast 中不使用)一起使
我正在 R 中绘制一个情节(在一个情节中绘制三天的时间序列)。我有一个“POSIXlt”“POSIXt”向量,我只需要保留没有年、月、日的时间(小时、分钟……)。 "2004-09-08 13:50:
由 documentation of the class POSIXlt POSIXlt 类的对象是命名列表。 确实: > tm class(tm) [1] "POSIXlt" "POSIXt" >
我有一个函数可以从多个字符串输入创建时间戳: # Create timestamp from date, time, and timezone strings str_to_dt d dlist
我是一名优秀的程序员,十分优秀!