将 posixlt 作为新列添加到数据框中

2024-04-07

我正在创建一些随机数:

data <- matrix(runif(10, 0, 1), ncol = 2)
dataframe <- data.frame(data)

> dataframe
         X1         X2
1 0.7981783 0.13233858
2 0.9592338 0.05512942
3 0.1812384 0.74571334
4 0.1447498 0.96656930
5 0.1735390 0.37345575

我想创建一个相应的时间戳列并将其绑定到上面的数据框。

time <- as.POSIXlt(runif(10, 0, 60), origin = "2017-05-05 10:00:00")

这会创建 10 个值。

> time
 [1] "2017-05-05 13:00:27 EEST" "2017-05-05 13:00:02 EEST" "2017-05-05 13:00:26 EEST" "2017-05-05 13:00:25 EEST" "2017-05-05 13:00:28 EEST"
 [6] "2017-05-05 13:00:17 EEST" "2017-05-05 13:00:35 EEST" "2017-05-05 13:00:08 EEST" "2017-05-05 13:00:29 EEST" "2017-05-05 13:00:32 EEST"

现在,我想将它绑定到数据框,所以我首先想到将其设为矩阵:

time <- matrix(time, nrow = 5, ncol = 2)

但这给了我:

Warning message:
In matrix(time, nrow = 5, ncol = 2) :
  data length [11] is not a sub-multiple or multiple of the number of rows [5]

原因是POSIXlt将日期时间存储为list属性,而POSIXct不会。所以,最好使用as.POSIXct

time <- as.POSIXct(runif(10, 0, 60), origin = "2017-05-05 10:00:00")

如果我们需要存储,可以将其作为list of data.frame

data.frame(date1= time[1:5], date2 = time[6:10])

无需转换为matrix因为“日期时间”被强制integer转换为时的存储模式matrix.


假设我们继续POSIXlt,然后我们找到list属性

time1 <- as.POSIXlt(runif(10, 0, 60), origin = "2017-05-05 10:00:00")
unclass(time1)
#$sec
# [1] 13.424695 40.860449 57.756890 59.072140 24.425521 39.429729 58.309546
# [8]  6.294982 46.613436 25.444415

#$min
# [1] 30 30 30 30 30 30 30 30 30 30

#$hour
# [1] 15 15 15 15 15 15 15 15 15 15

#$mday
# [1] 5 5 5 5 5 5 5 5 5 5

#$mon
# [1] 4 4 4 4 4 4 4 4 4 4

#$year
# [1] 117 117 117 117 117 117 117 117 117 117

#$wday
# [1] 5 5 5 5 5 5 5 5 5 5

#$yday
# [1] 124 124 124 124 124 124 124 124 124 124

#$isdst
# [1] 0 0 0 0 0 0 0 0 0 0

#$zone
# [1] "IST" "IST" "IST" "IST" "IST" "IST" "IST" "IST" "IST" "IST"

#$gmtoff
# [1] 19800 19800 19800 19800 19800 19800 19800 19800 19800 19800

#attr(,"tzone")
#[1] ""    "IST" "IST"

With POSIXct,它是整数存储值,可以通过以下方式找到unclass

 unclass(time)
 #[1] 1493978445 1493978451 1493978432 1493978402 1493978447 1493978441
 #[7] 1493978445 1493978450 1493978419 1493978425
 #attr(,"tzone")
 #[1] ""
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 posixlt 作为新列添加到数据框中 的相关文章

随机推荐

  • 如何测试角度事件?

    我需要测试事件是否正确发出或广播 并手动触发事件 最好的方法是什么 如果您只需要对事件触发和捕获进行一些测试 我就是这样做的 为了确保某个事件被触发 emit ed or broadcast ed 间谍是正确的选择 您需要对将调用的范围的引
  • ICommand MVVM 实现

    因此 在我正在执行的这个特定 MVVM 实现中 我需要几个命令 我真的厌倦了逐个实现 ICommand 类 因此我想出了一个解决方案 但我不知道它有多好 因此我们将非常感谢这里任何 WPF 专家的意见 如果您能提供更好的解决方案 那就更好了
  • 电子预警系统。如何在没有初始同步的情况下获取最新的SyncState?

    假设我的文件夹中有 100 000 条消息 我希望能够与最新更改同步 但我不需要任何旧消息 请求初始同步 SyncFolderItems null syncState 会带回所有 100 000 条消息 我不需要 如何在不从服务器读取 10
  • 如何获取一个月中的工作日列表?

    在另一个问题中 https stackoverflow com questions 3849975 how to get all dates in a given month in c它展示了如何获取一个月中的所有天数 我需要同样的东西 但
  • JMS 有哪些替代方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PipedInputStream - 如何避免“java.io.IOException:管道损坏”

    我有两个线程 其中一个写入 PipedOutputStream 另一个从相应的 PipedInputStream 读取 背景是一个线程正在从远程服务器下载一些数据 并通过管道流将其复用到多个其他线程 问题是有时 尤其是下载大文件时 gt 5
  • 路由应用程序覆盖文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我最近将我的游戏提交到了 App Store 它最近已获得批准 正在 App Store 处理 当我单击我的应用程序时 它显示 路由应用程序覆盖文件
  • GWT-出口商。工作示例

    我有一个 Java 库 我需要将其转换为 JS 我找到了解决方案GWT 创建实用的 javascript 库 https stackoverflow com questions 3125556 gwt to create utility j
  • 打开第二个 fancybox 在另一个 fancybox 中!

    嘿 我的花式盒子遇到了麻烦 我正在一个 fancybox 中启动一个表单 一般是通过fancybox以iframe方式打开 因为它是作为其他域的小部件启动的 在此 iframe 中 我打开第二个 fancybox 来显示验证错误 所有这一切
  • 展开方案中的函数

    Goal 实施unfold仅使用两个参数的函数 论据 第一个参数是 f 它接受某种类型 I 的初始值并返回 nil 或两个元素的 cons 对 这两个元素中的第一个是某种类型 A 的列表中的下一个元素 下一个初始值又是某些类型 I 第二个参
  • 我如何编写一个 SQL 查询来检查列是否为零,它将更新它,如果不是,它将移动到下一列?

    详细地说 我目前正在构建一个应用程序 让人们创建帐户并登录 他们提供的信息已保存到我的数据库中 我的数据库仅包含一张保存用户信息的表 每一行都是一个用户 这是一张可以让您更好地了解的图片 前六列包含用户信息 但是 在我的应用程序中 用户有一
  • Ruby:尝试获取哈希数组上的枚举器时,nil:NilClass 的未定义方法“[]”

    我正在尝试循环哈希数组 当我到达获取枚举器以开始循环的位置时 出现以下错误 undefined method for nil NilClass 我的代码如下所示 def extraireAttributs attributsParam cl
  • 如何使用 vim 的 :sh 命令来获取我的 bashrc?

    每当我使用 sh 在 vi m 中启动 shell 时 它都不会获取我的 bashrc 文件 我怎样才能让它自动执行此操作 See help shell http vimdoc sourceforge net htmldoc options
  • 期间发生内部错误:“更新 Maven 依赖项”

    每当我运行 eclipse 时 我都会收到以下消息 An internal error occurred during Updating Maven Dependencies Lorg codehaus plexus archiver ja
  • 快速向 AVPlayer 添加自定义控件

    我正在尝试创建一个表格视图 以便能够播放视频 我可以使用 AVPlayer 和图层来做到这一点 我想在视频视图底部添加带有滑块的自定义播放和暂停按钮 AVPlayerController 内置有这些控件 我如何在 AVPlayer 中实现这
  • 将报告 (RDLC) 设置为横向打印和 A4

    有没有办法将 RDLC 报告设置为始终横向并始终使用 A4 而无需每次通过打印对话框手动执行此操作 我已经在这个问题上呆了几个小时了 谷歌搜索后什么也没有出现 事实上 有没有办法跳过打印对话框本身 TIA 您当然可以避免打印对话框并直接打印
  • 使用 CursorAdapter 正确实现更改 ListView 数据

    我有一个通过 CursorAdapter 填充的 ListView 我让我的用户能够更改列表中的数据 例如 用户可以将一行标记为未读 数据是消息 假设我的用户将一行标记为未读 正确的实现是否会将数据库中的行标记为已读 然后重新查询游标 正确
  • 动态创建具有不同亮度的颜色

    我有一种颜色 我只在运行时知道 我想使用这种颜色创建两种新颜色 一种非常明亮 一种不明亮 为了澄清一下 假设我的颜色是红色 我想创建 浅红色 颜色和 深红色 颜色的十六进制值 我该怎么做呢 我的代码是使用 GWT 用 Ja va 编写的 将
  • Microsoft JScript 运行时错误:“jQuery”未定义

    我是 ASP MVC 3 菜鸟 正在学习音乐商店教程http www asp net mvc tutorials mvc music store mvc music store part 5 http www asp net mvc tut
  • 将 posixlt 作为新列添加到数据框中

    我正在创建一些随机数 data lt matrix runif 10 0 1 ncol 2 dataframe lt data frame data gt dataframe X1 X2 1 0 7981783 0 13233858 2 0