使用日期时间 POSIXlt 创建 R data.table 时出错

2024-02-16

使用日期时间列创建 data.table 时出现问题:

> mdt <- data.table(id=1:3, d=strptime(c("06:02:36", "06:02:48", "07:03:12"), "%H:%M:%S"))
> class(mdt)
[1] "data.table" "data.frame"
> print(mdt)
Error in `rownames<-`(`*tmp*`, value = paste(format(rn, right = TRUE),  : 
  length of 'dimnames' [1] not equal to array extent

Enter a frame number, or 0 to exit   

1: print(list(id = 1:3, d = list(sec = c(36, 48, 12), min = c(2, 2, 3), hour = c(6, 6, 7), mday = c(31,
2: print.data.table(list(id = 1:3, d = list(sec = c(36, 48, 12), min = c(2, 2, 3), hour = c(6, 6, 7), m
3: `rownames<-`(`*tmp*`, value = paste(format(rn, right = TRUE), ":", sep = ""))

创建为 data.frame 并转换为 data.table 有效!

> mdf <- data.frame(id=1:3, d=strptime(c("06:02:36", "06:02:48", "07:03:12"), "%H:%M:%S"))
> print(mdf)
  id                   d
1  1 2014-01-31 06:02:36
2  2 2014-01-31 06:02:48
3  3 2014-01-31 07:03:12
> mdt <- as.data.table(mdf)
> print(mdt)
   id                   d
1:  1 2014-01-31 06:02:36
2:  2 2014-01-31 06:02:48
3:  3 2014-01-31 07:03:12
> class(mdt)
[1] "data.table" "data.frame"

我错过了什么或者是错误吗?如果出现错误,我应该在哪里报告?

注意我使用 R 版本 3.0.0,并且看到一些警告。使用版本 3.0.2 构建的软件包。这会是问题吗?我应该升级 R 本身吗?我所做的其他一切似乎都有效。


格式化 Blue Magister 评论的响应(非常感谢),出于性能原因,data.table 不支持 POSIXlt 数据类型 - 请参阅将字符串转换为 IDateTime https://stackoverflow.com/questions/14056370/cast-string-to-idatetime按照建议尽可能重复。

因此,正确的方法是将时间转换为 ITime(由 data.table 提供的类型)或将日期时间(或仅日期)转换为 POSIXct,具体取决于日期信息是否重要:

> mdt <- data.table(id=1:3, d=as.ITime(strptime(c("06:02:36", "06:02:48", "07:03:12"), "%H:%M:%S")))
> print(mdt)
   id        d
1:  1 06:02:36
2:  2 06:02:48
3:  3 07:03:12
> mdt <- data.table(id=1:3, d=as.POSIXct(strptime(c("06:02:36", "06:02:48", "07:03:12"), "%H:%M:%S")))
> print(mdt)
   id                   d
1:  1 2014-01-31 06:02:36
2:  2 2014-01-31 06:02:48
3:  3 2014-01-31 07:03:12

作为额外说明,以防有人可以从中受益,我想根据输入数据创建日期和时间,并将日期和时间放在单独的字段中。 我发现学习(参见?ITime)很有用,可以将时间 ITime 添加到日期时间 POSIXct 并获取日期时间 POSIXct,如下所示:

> mdt <- as.POSIXct("2014-01-31") + as.ITime("06:02:36")
> print(mdt)
[1] "2014-01-31 06:02:36 EST"
> class(mdt)
[1] "POSIXct" "POSIXt" 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用日期时间 POSIXlt 创建 R data.table 时出错 的相关文章

  • 在闪亮仪表板中显示/隐藏菜单项

    当进入应用程序时 我需要隐藏一个菜单项 当用户选择某个值时 菜单项必须出现 我努力了shinyjs功能hidden 并且它隐藏了一个 menuItem 但是当使用show or toggle 菜单项不会出现 我发现了Rshinydashbo
  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • 将线条剪裁到绘图区域并在绘图区域外显示文本

    我想限制绘图的可见 y 范围 为了保留超出此范围的值 我需要设置oob 出界 to rescale none这效果很好 不过 我还想在图外的页边空白处添加一些文本 为了做到这一点 我需要关闭剪辑 这会导致超出范围的值被绘制在绘图区域之外的边
  • R:使用 dcast 时包含没有条目的因子

    我在数据帧上使用 reshape2 函数 dcast 其中一个变量是某些级别未出现在数据框中的因素 但我会将所有值包含在创建的新列中 例如 假设我运行以下命令 library reshape2 dataDF lt data frame id
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • 在 R 中将本地日期时间转换为 UTC

    如何将本地日期时间转换为以下格式 12 31 2014 6 42 52 PM R 中的 UTC 我试过这个 as POSIXct as Date 12 31 2014 6 42 52 PM format m d Y H M S tz UTC
  • 什么是 data.frame 可以做而 data.table 不能做的事情?

    我刚刚开始使用 R 并遇到了 data table 我发现它很棒 一个非常天真的问题 我可以忽略 data frame 来使用 data table 以避免两个包之间的语法混淆吗 来自数据表常见问题解答 http datatable r f
  • 抑制 r markdown 中的控制台输出,但保留绘图

    嗨 我有以下降价块 r echo FALSE warning FALSE message FALSE error FALSE lapply obj function x plot x main some plot box axis 1 at
  • R 在 Ubuntu 中通过代理连接

    我在 Ubuntu 12 04 上安装了 RStudio 0 97 168 当我尝试安装 gstat 库时出现以下错误 install packages gstat dependencies TRUE Warning in install
  • 如何编写一个也接受字符输入的 NES 函数?

    我正在开发一个将字符串作为函数参数的 R 包 现在我想使用非标准评估来允许非字符串输入 另外 为了保持向后兼容性 我想保留函数接受字符串的可能性 哈德利给出了example https cran r project org web pack
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下
  • 哪种 LaTeX 包与 knit 一起使用以获得更多的表格控制?禁忌?

    我正在用 knitr 写一张更长的桌子xtable和tabular environment longtable 在 longtable 包中时print将它们纳入我的 Rnw file 问题是我对longtable环境控制不够 我有一些文本
  • R Plotly 禁用图例单击和图例双击

    我想使用 R Plotly 从服务器端禁用绘图图例选择 我们看here https community plot ly t disable legend click functionality hiding traces 1345 2可以使
  • 为什么 quosures 在 group_by() 中起作用,但在 filter() 中不起作用?

    我正在构建一个函数 我将根据字符串操作数据框 在该函数中 我将根据字符串构建一个列名称 并使用它来操作数据框 如下所示 library dplyr orig df lt data frame id 1 3 amt c 100 200 300
  • 如何重试错误语句?

    如果某个语句出错 我如何简单地告诉 R 重试该语句几次 例如 我希望做类似的事情 tryCatch dbGetQuery Query database error function e if is locking error e If da
  • 如何在shell脚本中运行R代码?

    我有一个 R 文件 myfile R 我想使用 shell 脚本来运行它 我怎样才能做到这一点 我试过这个 bin bash Rscript myfile R 但它给了我这个错误 Rscript 找不到命令 我也尝试过这个 bin bash
  • 在 R 中使用科学记数法和 xtable

    我将 data frame 传递给 xtable dat table lt xtable dat 1 20 digits 10 我宁愿使用科学记数法 而不是像那样显示数字 我该怎么做呢 看过了 但我发现的只是R 格式化xtable中的数字
  • R/ggplot2:如何匹配重叠区域图中的图例和绘图颜色?

    我有两个面积图 称为 蓝色 和 绿色 其中green大部分是在blue情节 但在极少数点上 它高于blue阴谋 我想使用透明度说alpha 0 2对于两者 并且还能够为每个指定颜色 我现在的问题是 自从green情节主要是在blue地块 其
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • 修改x轴刻度标签

    我正在尝试更改由生成的箱线图的 x 轴刻度标签ggplot2 x 轴是一个分类变量 HabFac 我想要的是将其刻度更改为 6 个化学品 A E 下面是我的代码 raw data read table Read data p TT ggpl

随机推荐

  • 升级时的注册表问题

    旧版本的安装程序是使用以下命令创建的InstallScope 每台机器 新版本的目的是InstallScope 每个用户 它还需要使用与旧版本创建的相同的注册表项 问题是 升级过程中这些注册表项下存储的任何值最终都会被旧版本存储的初始值覆盖
  • primefaces 日历:如何动态设置 Mindate

    我有两个 primefaces 日历控件 我希望当我从第一个日历中选择日期时 下一个日历注意日期应该从第一个日历的选定日期开始 例如 我选择了7 5 2013那么下一个日历应该禁用之前的所有日期8 5 2013这是我到目前为止所尝试过的 但
  • 匹配一行中的第 n 个单词

    在我使用的应用程序中 我无法选择比赛组 1 我可以使用的结果是正则表达式的完整匹配 但我需要第 5 个单词 jumps 作为匹配结果 而不是完整的匹配项 The Quick Brown Fox Jumps 4 The quick brown
  • SQL where field in vs. where field = 带有多个 or ?

    就性能而言 使用哪一个更好 关于可读性 可理解性 关于公认的标准 SELECT FROM Wherever WHERE Greeting IN hello hi hey OR SELECT FROM Wherever WHERE Greet
  • ios 上的外部键盘选项卡事件

    我的 iPad 应用程序屏幕之一有多个文本字段 在这几个文本字段上 会生成用于用户输入操作 决策 预填充信息等的弹出窗口 当使用默认的 ipad 键盘时 它工作正常 但是当我们尝试使用带有 Tab 键的外部键盘时 我得到了多个文本字段应该开
  • 用于闪亮 Python 3D 曲面图的 Phong 着色

    我正在尝试在 Python 中使用镜面着色创建美观的 3D 绘图 到目前为止 我已尝试将 Matplotlib 与 Mayavi 的 3D 轴和曲面图一起使用 例如来自 Mayavi surf 示例网页 结果看起来不错 在 Mayavi 中
  • 自动同步 Subversion 存储库和 Git 存储库

    我的项目在网络文件系统上有一个 Subversion 存储库 新团队希望使用 Git 访问它 并能够提交它并从中获取更新 我的想法是创建一个新的裸git svn在同一网络文件系统上克隆 Subversion 存储库 并确保这两个存储库始终彼
  • 如何更改附加到导航视图的子菜单的文本和图标的颜色?

    我试图弄清楚如何更改实际附加到导航视图的子菜单项的颜色 以下代码实际上来自 android studio 中可用的导航抽屉的默认模板 活动 主 抽屉 xml menu menu
  • 哪里有 Firefox 3.5 中位置感知浏览的 Javascript 代码示例?

    有谁知道我在哪里可以找到 Firefox 3 5 的新位置感知功能的一些 javascript 代码示例 Try hacks mozilla org http hacks mozilla org 2009 06 geolocation an
  • 检查两次之间的时间[重复]

    这个问题在这里已经有答案了 我只想检查当前时间是否在 2 次之间 到目前为止 我浏览了多个脚本 但所有脚本都包含日期 或者只是太困难 或者脚本只计算完整小时 如 6 或 7 而我需要检查小时和分钟 我很感激您的帮助 我想要的脚本设置是 be
  • 在 Elastic Beanstalk 上运行 npm install 时出现问题

    情况 我有一个 Laravel 5 4 应用程序 它使用 npm bower 和 gulp 作为前端 我已在部署时成功配置了所有内容 但是npm install or npm install production 在我的情况下是相同的 命令
  • jwt.decode() 收到意外的关键字参数“verify”

    我可以使用路由 api token 生成令牌 但之后无法使用它 之前一切正常 但现在我在 django Rest Framework 中遇到此错误 我不知道为什么 File home mathieu local share virtuale
  • Android - Intent.setType() 参数

    有谁知道该方法的所有可用参数 像 图像 或 文件 我在官方文档中没有找到该列表的线索 具体来说 我需要发送联系人 vcf 文件的意图 但输入 file vcf 并没有显示通过短信发送选项 sendIntent setData Uri par
  • 在php中读取mp3流并回显给客户端

    我想要实现的是一个页面 当客户端连接时 该页面不断地从本地ice cast服务器读取 http 127 0 0 1 8000 stream mp3 并将流回显给客户端 从那里 客户端可以在基本音频标签中播放它
  • 在 Ruby 语言的一个 if 语句中使用多个条件

    我用 Ruby 写了这样的东西 if a max a 0 brand b 0 elsif a max a 1 brand b 1 elsif a max a 2 brand b 2 elsif a max a 3 brand b 3 end
  • 使用 JSDoc 记录成员函数

    我有这样的事情 Diese Klasse bla bla constructor my namespace ClassA function type This function does something this doSomething
  • 正确实施带有回发的 Web 部件?

    我想做的是创建一个 Web 部件 它有一个文本框 您可以在其中设置 Web 部件上的文字 h2 的值 以及一个回发的 保存 按钮 然后相应地设置文字 这有一个巨大的警告 当页面在回发后加载时 文字并没有改变 但是 如果我记录文字中实际设置的
  • 当日期采用以下格式时,将 BIGQUERY 中的字符串转换为日期:M/D/YYYY

    我有一个日期字符串 格式为 M D YYYY 即 1 1 2018 12 31 2018 我收到无效日期错误 它显示 2 18 2018 作为无效日期 有任何想法吗 以下是 BigQuery 标准 SQL 的示例 standardSQL W
  • 从 C 执行二进制机器代码

    下列的this http www muppetlabs com breadbox software tiny teensy html我已经成功地生成了大小为 528 字节的 a out 当 gcc main c 最初给了我 8539 字节的
  • 使用日期时间 POSIXlt 创建 R data.table 时出错

    使用日期时间列创建 data table 时出现问题 gt mdt lt data table id 1 3 d strptime c 06 02 36 06 02 48 07 03 12 H M S gt class mdt 1 data