为什么 apply() 返回转置的 xts 矩阵?

2023-12-14

我想在 xts 矩阵的所有周期上运行一个函数。 apply() 非常快,但返回的矩阵与原始对象相比具有转置维度:

> dim(myxts)
[1] 7429   48
> myxts.2 = apply(myxts, 1 , function(x) { return(x) })
> dim(myxts.2)
[1]   48 7429
> str(myxts)
An 'xts' object from 2012-01-03 09:30:00 to 2012-01-30 16:00:00 containing:
  Data: num [1:7429, 1:48] 4092500 4098500 4091500 4090300 4095200 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:48] "Open" "High" "Low" "Close" ...
  Indexed by objects of class: [POSIXlt,POSIXt] TZ: 
  xts Attributes:  
 NULL
> str(myxts.2)
 num [1:48, 1:7429] 4092500 4098500 4091100 4098500 0 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:48] "Open" "High" "Low" "Close" ...
  ..$ : chr [1:7429] "2012-01-03 09:30:00" "2012-01-03 09:31:00" "2012-01-03 09:32:00" "2012-01-03 09:33:00" ...
> nrow(myxts)
[1] 7429
> head(myxts)
                       Open    High     Low   Close
2012-01-03 09:30:00 4092500 4098500 4091100 4098500
2012-01-03 09:31:00 4098500 4099500 4092000 4092000
2012-01-03 09:32:00 4091500 4095000 4090000 4090200 
2012-01-03 09:33:00 4090300 4096400 4090300 4094900
2012-01-03 09:34:00 4095200 4100000 4095200 4099900
2012-01-03 09:35:00 4100000 4100000 4096500 4097500 

如何保留 myxts 尺寸?


就是这样apply已记录要做的事情。从?apply:

Value:

 If each call to ‘FUN’ returns a vector of length ‘n’, then ‘apply’
 returns an array of dimension ‘c(n, dim(X)[MARGIN])’ if ‘n > 1’.

就你而言,'n'=48(因为你正在循环行),所以apply将返回一个维度数组c(48, 7429).

另请注意myxts.2 is not一个 xts 对象。这是一个常规数组。您有几个选择:

  1. 转置结果apply在重新创建 xts 对象之前:

    data(sample_matrix)
    myxts <- as.xts(sample_matrix)
    dim(myxts)    # [1] 180   4
    myxts.2 <- apply(myxts, 1 , identity)
    dim(myxts.2)  # [1]   4 180
    myxts.2 <- xts(t(apply(myxts, 1 , identity)), index(myxts))
    dim(myxts.2)  # [1] 180   4
    
  2. 对您的函数进行向量化,以便它对 xts 的所有行进行操作 对象并返回一个 xts 对象。那你就不用担心 关于apply at all.

最后,请开始提供可重现的示例。这并不难,而且让人们更容易提供帮助。我在上面提供了一个示例,希望您可以在以下问题中使用它。

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

为什么 apply() 返回转置的 xts 矩阵? 的相关文章

  • dplyr 返回每个组的全局平均值,而不是每个组的平均值

    有人可以解释一下我在这里做错了什么 library dplyr temp lt data frame a c 1 2 3 1 2 3 1 2 3 b c 1 2 3 1 2 3 1 2 3 temp gt group by temp 1 g
  • 如何添加链接以从我的 R闪亮应用程序在新窗口中打开 pdf 文件?

    我可以使用 a 从我的 Shiny 应用程序添加到外部站点的超链接 a google href http www google com 但如何创建一个链接来打开 pdf 或类似 文件 看起来应该很简单 但我找不到任何例子 我的问题与此类似
  • 无法更新/编辑从 R 中的包(`gratia`)导出的 ggplot2 对象

    我希望我在这里遗漏了一些令人痛苦的明显的东西 我希望更新 例如 修复标题 实验室等 由 生成的 ggplot 对象gratia draw 不太确定为什么我无法更新该对象 有一个简单的解决方案吗 devtools install github
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • R - 计算 bin 中特定值的数量

    我有一个如下所示的数据框 df Value lt c 1 1 0 2 1 3 4 0 0 1 2 0 3 0 4 5 2 3 0 6 Sl lt c 1 20 df lt data frame Sl Value gt df Sl Value
  • Quantmod 的简单功能不再起作用

    我明天要交论文 我收到了一条关于 quantmod 的非常奇怪的错误消息 这是我在过去几周使用这个包时从未遇到过的 我无法导入特定于道琼斯指数 DJI 的数据 我收到以下错误消息 getSymbols DJI src yahoo from
  • purrr::可能函数可能无法与map2_chr函数一起使用

    我怀疑这是 purrr 包中的错误 但想先在 StackOverflow 中检查我的逻辑 在我看来 possibly功能在内部不起作用map2 chr功能 我正在使用 purrr 版本 0 2 5 考虑这个例子 library dplyr
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述
  • 将列表中的每个元素转换为数据框中的一列

    假设我有以下列表 d library combinat d permn c a b c 这看起来如下 1 1 a b c 2 1 a c b 3 1 c a b 4 1 c b a 5 1 b c a 6 1 b a c 是否可以将此列表的
  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • R ggplot 中的柯尔莫哥洛夫-斯米尔诺夫图

    我正在尝试在 r 中绘制 KS 图 一切似乎都很顺利 除了我只能使用颜色来可视化两个不同的样本而不是线型这一事实 我已经尝试过以下方法 sample1 lt SD13009 sample2 lt SD13009PB group lt c r
  • sapply - 保留列名称

    我试图总结数据集中许多不同列 变量 的平均值 标准差等 我已经编写了自己的汇总函数 以准确返回我需要和正在使用的内容sapply立即将此函数应用于所有变量 它工作正常 但是返回的数据帧没有列名 我似乎甚至无法使用列号引用重命名它们 也就是说
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • 使用选定因子水平的值向 ggplot-barchart 添加水平线

    在这个情节中 df lt data frame factor as factor c rep A 3 rep B 3 Treatment c rep c A B C 2 values runif 6 0 1 ggplot df aes Tr
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used

随机推荐

  • Python Tkinter 两个按钮的一个回调函数

    我已经寻找这个问题的答案很长时间了 但仍然没有找到任何东西 我正在使用 Tkinter 创建一个 GUI 并且我有两个按钮 除了从不同的小部件接收信息之外 它们基本上执行相同的操作 一个按钮用于条目小部件 另一个按钮用于列表框小部件 这两个
  • “SELECT”语句中的“IF” - 根据列值选择输出值

    SELECT id amount FROM report I need amount to be amount if report type P and amount if report type N 如何将其添加到上面的查询中 SELEC
  • Python cx_Oracle 绑定变量

    我是一个Python新手 我在使用绑定变量时遇到了麻烦 如果我执行下面的代码 一切都会正常 bind var ciao sql select from sometable where somefield bind cur prepare s
  • 多重登录选项的用例

    我有一个用例 用户可以通过普通登录以及社交登录 例如 Twitter Google Facebook 登录 我如下绘制用例 但不确定它是否正确 登录账号 扩展 gt 正常登录 扩展 gt Twitter 登录 扩展 gt 谷歌登录 扩展 g
  • 登录后如何在firebase中上传用户个人资料图片?

    我将个人资料图片上传到 Firebase Storage 包含用户信息的数据库屏幕截图然后我获取图像 URL 并将其存储到 Firebase 实时数据库中 当我将 imagurl 存储到 Firebase 实时数据库中的特定用户时 我看到我
  • numpy改变元素匹配条件

    对于两个 numpy 数组 a b a 1 2 3 b 4 5 6 我想将a的x a a lt 2 5 b 希望成为a 4 5 3 但这会出错 Traceback most recent call last File
  • importlib.reload 不会重新加载以编程方式生成的文件

    第二个断言失败 表明导入库 重新加载默默地无法重新加载修改后的模块 任何人都可以解释为什么吗 import os import sys import tempfile import importlib Create some module
  • 用于查找树中支配集的多项式时间算法

    设 G V E 为无向图 G 中节点的子集 S V 称为 支配集 如果对于所有 v V 我们有 v S 或存在某个节点 u S 使得 u v E 换句话说 每个V S 中的节点通过边连接到 S 中的某个节点 给定 V 节点上的非负权重 w
  • AttributeError:对象没有属性“_type_equality_funcs”

    我的程序的 Unittest 模块实现出现以下错误 File usr lib python2 7 unittest case py line 493 in getAssertEqualityFunc asserter self type e
  • 关于使用@property和@synthesize保留属性的问题

    我对 Objective C 编码还很陌生 正如这个问题所证明的那样 并且我认为我没有完全理解在 property 声明中使用保留属性的工作原理 这是一个示例类 interface Foo NSObject NSMutableArray m
  • 下载文件到Android WebView(代码中没有下载事件或HTTPClient)

    这更多是出于好奇而提出的问题 而不是需要解决的实际问题 我制作了一个包含 WebView 的 Android 应用程序 我使用了 should override URL 方法 以便单击的任何链接都将在 WebView 中打开 后来我决定将文
  • 进行字符串连接时出现运行时错误

    下面的程序有什么问题 main char str1 United char str2 Front char str3 str3 strcat str1 str2 printf n s str3 我无法编译上面的程序 它总是给我运行时错误 我
  • 在 Java 中从 TTF 文件加载一些 TrueType 字体会导致 FontFormatException: 未找到字体名称

    我正在尝试从系统上的 TTF 文件创建 java awt Font 实例 但只有某些字体能够正确加载 下面的代码是我在网上找到的一些测试代码 在我的系统上运行时 它能够成功加载 285 种字体 例如 Arial ttf 但无法加载 83 种
  • 应该使用什么来代替已弃用的 EntityName.account.ToString()?

    当我设计一个查询表达式 我一直使用以下硬编码语法 QueryExpression expression new QueryExpression EntityName account In 这个博客以下语法基于这个枚举用来 QueryExpr
  • 在图像视图上绘制文本

    我尝试以这种方式编写文本 但它不起作用 我不明白我错在哪里 mImageView buildDrawingCache Bitmap bmap mImageView getDrawingCache Canvas c new Canvas bm
  • PowerShell invoke-sqlcmd Get-ChildItem:无法调用方法。提供者不支持使用过滤器

    使用 invoke sqlcmd 将行插入表时出现奇怪的错误 如果执行一次 整个脚本可以完美运行 但如果我第二次运行它 它就会失败并显示错误消息 Get ChildItem 无法调用方法 该提供商不支持使用过滤器 我测试了代码并注释掉了in
  • 如何在 PyQt4 中创建自动完成组合框?

    如何在 PyQt4 中创建自动完成组合框 我想要的例子 http jqueryui com autocomplete combobox 要获得与示例中相同的行为 您需要更改完成模式 of the 完成者对于组合框 默认情况下 完成模式是内联
  • 语法突出显示突然不同[重复]

    这个问题在这里已经有答案了 我最近注意到我的 vscode 开始变得有点滑稽 突出显示 更改某些变量的颜色似乎突然出现 这真的让我很失望 返回变量上的很多颜色变化 粗体对象等 我的一个朋友正在使用相同的颜色主题 我们进行了比较 以确保它们不
  • 特定批次的气流任务

    我想运行一组这样的任务 a gt gt b c d gt gt e f g gt gt h i j k l m 首先运行任务 a 完成后并行运行 b c d 然后当 b c d 的最后一个完成时运行 开始并行运行 e f g 等 但我收到
  • 为什么 apply() 返回转置的 xts 矩阵?

    我想在 xts 矩阵的所有周期上运行一个函数 apply 非常快 但返回的矩阵与原始对象相比具有转置维度 gt dim myxts 1 7429 48 gt myxts 2 apply myxts 1 function x return x