如何将时间序列中的列除以 R 中的第一个值?

2024-03-27

我有下面的代码工作。但一定有更好的方法。

file <- "http://s3.amazonaws.com/assets.datacamp.com/production/course_1127/datasets/tmp_file.csv"
x <- read.csv(file = file)
ts <- xts(x = x,  order.by = as.Date(rownames(x), "%m/%d/%Y"))
cd=coredata(ts)
for (j in 1:length(names(ts)))  cd[,j]<-cd[,j]/cd[1,j]
for (j in 1:length(names(ts))) ts[,j]<-cd[,j]

您可以通过重复行来从所需的缩放行创建一个矩阵,然后将原始数据除以该缩放矩阵:

> ts <- xts(x = x,  order.by = as.Date(rownames(x), "%m/%d/%Y"))
> ts
           a b
2015-01-02 1 3
2015-02-03 2 4
> m <- matrix(rep(coredata(ts)[1,], nrow(ts)), ncol = 2, byrow = TRUE)
> m
     [,1] [,2]
[1,]    1    3
[2,]    1    3
> coredata(ts) <- coredata(ts) / m
> ts
           a       b
2015-01-02 1 1.00000
2015-02-03 2 1.33333
> 

那样虽然简洁,但是牺牲了内存。 @TarJae 的答案同样好,但内存效率可能很高,所以我已经投票了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将时间序列中的列除以 R 中的第一个值? 的相关文章

随机推荐

  • RemoteServiceServlet 和 RemoteService 有什么区别?

    我知道第一个是类 第二个是接口 但重点是 为什么客户服务应该扩展远程服务并为服务实现类扩展远程服务Servlet 那么幕后到底是什么 您正在尝试比较苹果和橙子 请阅读docs https developers google com web
  • 是否有一个运算符可以作为 concatMap 但具有多个内部可观察值

    我正在使用可观察的对象来查询我的数据库 该可观察对象将返回一个数组 其中包含找到的所有匹配对象 我的问题是我想将可观察值映射到我将从另一个 API 检索的更多详细信息 我尝试了 concatMap 但它只让我在初始可观察值中嵌套 1 个可观
  • 测试互联网连接的最快方法

    C 2008 SP1 我正在使用此代码连接到我们的客户网站 这是针对软件电话应用程序的 在用户拨打电话之前 软件电话必须测试是否存在有效的互联网连接 因此 我要做的就是使用 httpWebRequest 类连接到我们的客户网站 如果响应正常
  • iPhone 电子邮件应用程序启动 URL

    在 iPhone 上启动电子邮件和开始新电子邮件的 URL 是 mailto 电子邮件受保护 cdn cgi l email protection 我只想启动电子邮件应用程序 将用户放在主菜单或收件箱中 mailto 开始撰写新的空白电子邮
  • 在谷歌应用程序脚本中解析 html 的最佳方法是什么

    var page UrlFetchApp fetch contestURL var doc XmlService parse page 上面的代码在使用时会出现解析错误 但是如果我用已弃用的 Xml 类替换 XmlService 类 并设置
  • 跟踪文件(Windows 终端)的硬链接(重新分析点?)?

    如何跟踪文件的硬链接 重新分析点 管道传输到格式列表不会显示目标 至少在 powershell 7 中 你会得到一个小 ascii 箭头 该文件夹位于 env path 中 如果您没有 Windows 终端 则 MicrosoftEdge
  • 权限是不可更改的权限类型

    背景 我正在尝试新的 Tiles 和 TileService 并决定重新创建 USB Tethering 磁贴CyanogenMod https github com CyanogenMod android frameworks base
  • 现在N层架构意味着什么?

    从传统意义上讲 N 层意味着将应用程序分成 层 并将每个 层 放在不同的服务器上 这样做至少有 3 个原因 维护 a 代码维护 更容易进行错误修复和功能添加 b 硬件维护 关闭一台服务器不会中断其他层的服务 性能 一台服务器的速度通常不够快
  • Python - 在这种情况下列表理解是否有效?

    这是Python中的输入 脏 列表 input list n data1 n data2 n n data3 n 每个列表元素包含带有换行符的空格或带有换行符的数据 使用下面的代码清理它 cleaned up list data strip
  • 在 Archlinux 上通过 Pyenv 编译 Python 但缺少 OpenSSL

    我正在尝试在新安装的 ArchLinux 上通过 pyenv 安装 python pyenv install 3 5 1Downloading Python 3 5 1 tar xz gt https www python org ftp
  • Javascript 字符串替换为计算

    有没有办法解决javascript中字符串中的数学表达式 例如 假设我想生成字符串 Tom has 2 apples Lucy has 3 apples Together they have 5 apples 但我希望能够替换变量 我可以通
  • 基于属性之一的 JSON 模式 anyOf 验证

    我很难弄清楚如何根据其中一个属性的值验证对象数组 所以我有一个 JSON 对象 例如 items name foo otherProperty bar name foo2 otherProperty2 baz otherProperty3
  • initWithNibName 没有被调用

    我需要将一些自定义逻辑放入我的 iPhone 应用程序中 以便根据您运行的 iOS 版本 选择不同的 XIB 文件 即 iPhone 或 iPad 将显示不同的 XIB 文件 我从第一天起就构建了整个 iPhone 应用程序 一切都很好 在
  • 使用构建器模式最多设置一次值

    Java 中是否有标准做法 在使用构建器模式时 确保成员变量最多设置一次 我需要确保 setter 被调用 0 或 1 次 但绝不会更多 我想扔一个RuntimeException某种类型的问题 但我担心同步问题以及该领域的最佳实践 什么也
  • unordered_set::find 的复杂性可以预测吗?

    在寻找适合我正在构建的应用程序的容器时 我浏览了以下文档unordered set 鉴于我的应用程序通常只需要insert and find函数 这个类看起来相当有吸引力 然而 我有点推迟了 因为find是 O 1 摊销 但最坏情况是 O
  • 页面刷新和带有 url 重写的角度路由后,cookie 计数为零

    我正在使用带有 net core 2 0 和 Angular 4 的 Angular Spa 模板 页面刷新后 我得到的 cookie 数量为零 事实上 页面刷新后我没有在 HttpContext 中得到任何内容 Here is my co
  • 在应用程序内将“精简版应用程序”转换为“专业应用程序”

    我在 App Store 中有两个应用程序 一种是免费版本 另一种是付费版本 我需要在应用程序本身中有一个名为 升级 的按钮 每当用户单击该按钮时 我们是否可以为会员提供使用应用内购买从精简版升级到专业版的功能 我们有直接在 iOS 6 中
  • 使用 BufferedReader 读取行并检查文件末尾

    如果我的代码中有这样的东西 String line r readLine Where r is a bufferedReader 如果下一行是文件末尾 如何避免崩溃 即空 我需要阅读下一行 因为那里可能有一些我需要处理的东西 但如果没有 代
  • Git 中的文件限制是多少(数量和大小)?

    有谁知道Git对文件数量和文件大小的限制是多少 此消息来自可以帮助您解决一些其他限制 CVS 即它实际上最终几乎面向 一个文件 一次 模型 这很好 因为你可以拥有一百万个文件 然后只检查 其中一些 你甚至永远不会see对方的影响 999 9
  • 如何将时间序列中的列除以 R 中的第一个值?

    我有下面的代码工作 但一定有更好的方法 file lt http s3 amazonaws com assets datacamp com production course 1127 datasets tmp file csv x lt