从环境中获取 xts 对象

2023-12-14

我已将 xts 对象存储在环境中。当这些对象存储在环境中时,我可以对它们进行子集化,即“就地”对它们进行操作吗?我可以通过引用这些对象来提取它们吗colname?

下面是我要表达的内容的示例。

# environment in which to store data 
data <- new.env()

# Set data tickers of interest
tickers <- c("FEDFUNDS", "GDPPOT", "DGS10")

# import data from FRED database
library("quantmod")
dta <- getSymbols( tickers
  , src = "FRED"
  , env = data
  , adjust = TRUE
)

但是,这会下载整个数据集。现在,我想丢弃一些数据,保存它,使用它(例如绘制它)。我想将数据保留在这个日期范围内:

# set dates of interest
date.start <- "2012-01-01"
date.end <- "2012-12-31"

我有两个不同的目标。

  1. 对环境内的所有数据进行子集化( 就地行动或创造一个新的环境并覆盖 老环境用它)。
  2. 只选取我选择的一些股票并对它们进行子集化, 说 FEDFUNDS 和 DGS10,然后将它们保存在新的 环境。我还想保留这些对象的 xts-ness,这样我就可以方便地将它们绘制在一起或单独绘制。

以下是我确实设法做到的一些事情:

# extract and subset a single xts object 
dtx1 <- data$FEDFUNDS
dtx1 <- dtx1[paste(date.start,date.end,sep="/")]

这种方法的缺点是我需要在 data$ 之后显式键入 FEDFUNDS。但我想根据预先指定的代码列表进行工作,例如

tickers2 <- c("FEDFUNDS", "DGS10")

通过结合功能,我离系统化又近了一步get与功能lapply

# extract xts objects as a list
dtxl <- lapply(tickers, get, envir = data)

但这会返回一个列表。我不确定如何方便地使用此列表来对数据进行子集化、绘制数据等。我如何引用 DGS10 或tickers2 中的一对股票?

我非常想写一些类似的东西数据$代码[1] or 数据$股票代码[[1]]但这没有用。我也尝试过Paste0('数据','$',股票[1])及其带或不带引号的变体。无论如何,我相信环境中数据的顺序不是系统的,所以我真的更喜欢使用股票代码的名称而不是它的索引,比如数据$tickers[colnames = FEDFUNDS]本段中的所有尝试都没有成功。

如果我的问题不清楚,我深表歉意,但请要求澄清。感谢您的关注!

编辑:子集化

我收到了一些很棒的建议。GSee的答案有几个非常有用的技巧。以下是如何将 xts 对象子集化到感兴趣的日期间隔内:

dates <- paste(date.start, date.end, sep="/")
as.environment(eapply(data, "[", dates))

这将对环境中的每个对象进行子集化,并返回包含子集化数据的环境:

data2 <- as.environment(eapply(data, "[", paste(date.start, date.end, sep="/")))

对于第二个问题,您可以做基本上相同的事情。只需说出列表中的组成部分lapply通过包装它返回setNames,然后强制到一个环境:

data3 <- as.environment(setNames(lapply(tickers, get, envir = data), tickers))

或者,更好的是,使用mget这样你就不必使用lapply or setNames

data3 <- as.environment(mget(tickers, envir = data))

另外,我实际上有几个方便的功能qmao专门为此设计:gaa代表“获取、应用、分配”和gsa代表“获取、子集、分配”。

获取某些代码的数据,对数据进行子集化,然后分配到环境中

gsa(tickers, subset=paste(date.start, date.end, sep="/"), env=data, 
    store.to=globalenv())

gaa允许您在保存到相同或不同环境中之前对每个对象应用任何函数。

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

从环境中获取 xts 对象 的相关文章

  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • 使用管道语法处理模型列表

    我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型 我可以使用如下语法来做到这一点 require tidyverse require broom models lt list hp exp cyl hp cyl map df m
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • 如何在 R 中为回归量创建“宏”?

    对于长且重复的模型 我想创建一个 宏 在 Stata 中称为 宏 并通过以下命令完成 global var1 var2 其中包含回归量的模型公式 例如来自 library car lm income education prestige d
  • 如何将带有观察计数的标签添加到 stat_summary ggplot?

    我有一个数据集 例如 outcome lt c rnorm 500 45 10 rnorm 250 40 12 rnorm 150 38 7 rnorm 1000 35 10 rnorm 100 30 7 group lt c rep A
  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 根据 row_number() 过滤 data.frame

    更新 自从提出这个问题以来 dplyr 已经更新 现在按照 OP 的要求执行 我正在尝试获取第二行到第七行data frame using dplyr 我正在这样做 require dplyr df lt data frame id 1 1
  • 空间数据xyz到矩阵

    我有一个大数据框 100 000 行 其中包含 LON LAT VALUE 我想将其转换为矩阵 EPSG 中的坐标 3035 我使用以下命令尝试了 reshape2 包 acast df lon lat value var value 效果
  • 通过 Shiny 中的串扰将 Plotly 与 DT 结合使用

    我正在编写一个应用程序来将 csv 文件读取为闪亮的并将散点图与 DT 表链接起来 我几乎遵循了 Plotly 网站上 DT 数据表上的示例 https plot ly r datatable https plot ly r datatab
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd

随机推荐

  • Ansible 动态选择主机组

    我的库存文件如下所示 host group 1 x x x 1 x x x 2 host group 2 x x x 3 x x x 4 现在我想根据脚本返回的参数在这些组上选择并执行任务 该剧本如下所示 host 127 0 0 1 ta
  • Composer 不会在私有存储库中加载私有存储库?

    因此 我尝试利用 Composer 包的强大功能来使我的应用程序更加模块化 所以我的主要应用程序现在依赖于一个私有存储库 我像这样拉入 repositories type vcs url tenant package git require
  • Powershell创建数组的数组

    我正在尝试使用 powershell 将数据推送到 REST api http influxdb com docs v0 8 api reading and writing data html 服务器期望的数据如下 name hd used
  • 找不到与绑定 NetTcpBinding 的端点的方案 net.tcp 相匹配的基地址。基地址方案是[http]

    我的 WCF 服务有这样的配置 该服务在 IIS Express 端口号 50187 上运行 该服务托管在 Visual Studio 2017 的 IIS Express 上
  • C# 数组逐元素差异的方法(导数近似)? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我通常使用 python 但正在学习 C C 中是否有一个预先存在的类 用于获取数组的逐元素差异 以基本上获得导数 例如 python 中的 numpy diff 根据这一页 n
  • 如何在本地运行 travis-ci

    我宁愿不必推动每一个微小的改变 travis yml以及我为了运行构建而对源代码所做的每一个小更改 使用jenkins 您可以下载jenkins并在本地运行 特拉维斯提供这样的东西吗 注意 我看过 travis ci cli 并下载了它 但
  • 如何将字符串转换为ArrayList?

    在我的字符串中 我可以有任意数量的以逗号分隔的单词 我希望将每个单词添加到 ArrayList 中 例如 String s a b c d e 尝试类似的东西 List
  • 在 LINQ 查询中使用内置 sql 函数?

    是否可以在 LINQ 查询中使用内置 sql 函数 例如 user name 如果没有 我可以使用其他东西吗 这取决于提供商 例如 在针对 SQL Server 的 LINQ to Entities 中 您可以使用SqlFunctions
  • 单击鼠标即可获取 MS 图表中的标记位置

    我正在使用 MS Charts 制作图表 现在图表有我想要获取坐标的标记点 如果用户单击标记点 我希望图表中具有交互性 以便单击标记点时我可以检索标记点的坐标 x 轴和 y 轴 例如对于图表 单击橙色点或蓝色点时 我想获取该点的坐标 例如第
  • 空手道针对SocketTimeoutException的重试机制

    我们有一个系统 用于在测试期间发出一些 PUT 请求 问题是 目前该系统的资源存在一些问题 有时无法及时响应 我们无法将读取超时值增加到大于 60 秒的值 原因有两个 如果系统响应速度不快 则很可能根本不会响应 其次 我们使用的代理在 60
  • Django:在中间件中用 request.urlconf 覆盖 ROOT_URLCONF

    当请求包含 api 子域时 我试图用另一个 url 覆盖 ROOT URLCONF 这就是我到目前为止所拥有的 from django utils cache import patch vary headers class Subdomai
  • 在 Excel 中显示一段时间的弹出窗口

    我正在尝试生成一个在给定时间后关闭的弹出窗口WaitTime很快 我咨询过this链接和this link 我尝试应用 VBA Excel宏消息框自动关闭 我的代码如下 Sub TestSubroutine Dim TemporalBox
  • android 支持 PTRACE_SINGLESTEP 吗?

    好的 这是一个简单的问题 当我使用 ptrace 系统调用时 android 支持 PTRACE SINGLESTEP 吗 当我想ptrace一个android apk程序时 我发现我无法处理SINGLESTEP跟踪 但是当我使用PTRAC
  • 在 Weblogic 10.3 上调用 WebService 时未实现方法

    我开发了一个 Web 服务客户端来连接部署在 Weblogic 10 3 上的 Web 服务 尝试实例化客户端对象时总是得到相同的异常 java lang UnsupportedOperationException Method not i
  • 将年/周转换为日期对象

    字符串包含 YEAR WEEK 我想将其转换为parse date time 到日期对象 但我无法使代码工作 parse date time c 201510 YW 我不必使用润滑 也可以是其他包 在将年周转换为日期之前 您必须指定一周中的
  • iptables:复制/转发端口

    我正在尝试从阻止此端口的网络连接到 MySQL 端口 3306 但还有另一个端口 110 开放 我可以将其用于本例 我正在将 MySQL 用于其他应用程序 因此我不能简单地更改端口 我现在正在尝试通过 iptables 设置端口转发 确切地
  • NextJS 中 :global() css 模块选择器不纯的问题

    因此 我正在将应用程序从 CRA 迁移到 NextJS 并且我遇到了某些组件和页面的 module scss 文件的错误 Syntax error Selector global label primary is not pure pure
  • ssis xml 配置 - 配置覆盖包 - ssis 是否会在您不通知的情况下更改配置?

    昨天我工作了一整天 试图消除 XML 配置文件中错误连接字符串的影响 我检查了每个包 删除了有问题的连接管理器并使用正确的服务器名称重新添加它 每次我这样做时 我都会通过删除它来显式更新配置 然后使用覆盖选项重新添加它 但后来我犯了一个可怕
  • MongoDB:管理员无权执行命令

    当我使用时 我的 mongo shell 给了我这个错误show dbs命令 没有管理员权限执行命令 我尝试使用创建用户 db createUser user siteUserAdmin pwd password roles role us
  • 从环境中获取 xts 对象

    我已将 xts 对象存储在环境中 当这些对象存储在环境中时 我可以对它们进行子集化 即 就地 对它们进行操作吗 我可以通过引用这些对象来提取它们吗colname 下面是我要表达的内容的示例 environment in which to s