R 中向量的子向量之和

2023-11-28

给定一个向量x长度为 k,我想获得一个 k x k 矩阵X where X[i,j]x[i] + ... + x[j]。我现在的做法是

set.seed(1)
x <- rnorm(10)

X <- matrix(0,10,10)
for(i in 1:10) 
  for(j in 1:10)
    X[i,j] <- sum(x[i:j])

#             [,1]       [,2]       [,3]      [,4]        [,5]       [,6]        [,7]      [,8]      [,9]      [,10]
# [1,]  -0.6264538 -0.4428105 -1.2784391 0.3168417  0.64634948 -0.1741189  0.31331014 1.0516348 1.6274162  1.3220278
# [2,]  -0.4428105  0.1836433 -0.6519853 0.9432955  1.27280329  0.4523349  0.93976395 1.6780887 2.2538700  1.9484816
# [3,]  -1.2784391 -0.6519853 -0.8356286 0.7596522  1.08915996  0.2686916  0.75612063 1.4944453 2.0702267  1.7648383
# [4,]   0.3168417  0.9432955  0.7596522 1.5952808  1.92478857  1.1043202  1.59174924 2.3300739 2.9058553  2.6004669
# [5,]   0.6463495  1.2728033  1.0891600 1.9247886  0.32950777 -0.4909606 -0.00353156 0.7347931 1.3105745  1.0051861
# [6,]  -0.1741189  0.4523349  0.2686916 1.1043202 -0.49096061 -0.8204684 -0.33303933 0.4052854 0.9810667  0.6756783
# [7,]   0.3133101  0.9397640  0.7561206 1.5917492 -0.00353156 -0.3330393  0.48742905 1.2257538 1.8015351  1.4961467
# [8,]   1.0516348  1.6780887  1.4944453 2.3300739  0.73479315  0.4052854  1.22575376 0.7383247 1.3141061  1.0087177
# [9,]   1.6274162  2.2538700  2.0702267 2.9058553  1.31057450  0.9810667  1.80153511 1.3141061 0.5757814  0.2703930
# [10,]  1.3220278  1.9484816  1.7648383 2.6004669  1.00518611  0.6756783  1.49614672 1.0087177 0.2703930 -0.3053884

但我不禁觉得一定有一种更优雅的 R 方式(除了将其翻译为 Rcpp 之外)。


我们可以用outer():

mySum <- function(i,j) sum(x[i:j])
outer(1:10, 1:10, Vectorize(mySum))

编辑:您也可以通过以下方式寻求解决方案foreach:

library(foreach)
mySum <- function(j) sum(x[i:j])
mySum <- Vectorize(mySum)
foreach(i = 1:10, .combine = 'rbind') %do% mySum(1:10)

也许可以并行运行它。

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

R 中向量的子向量之和 的相关文章

随机推荐

  • 创建数组时出现自动化错误 -2146232576 (80131700)

    我有一个在一台计算机上运行良好的宏 但是当我尝试在另一台计算机上运行它时 出现以下错误 运行时错误 2146232576 80131700 自动化错误 这是代码 Sub Kaivuri Dim i As Long Dim arvoKohta
  • 如果没有找到任何内容,请从 jquery ui 自动完成中删除 spinner

    我想从支持 jquery ui 自动完成的文本字段中删除微调器 显示它正在加载的图片 由于没有 源没有返回结果 的事件 因此无法触发此事件 q autocomplete source createLink mapping qsearch m
  • SpringMVC 控制器:如果发生表单验证错误,如何留在页面上

    我的下一个工作代码SpringMVC控制器 RequestMapping value register method RequestMethod GET public void registerForm Model model model
  • 无法升级 Xamarin.Android 的 nuget 包

    我在 Visual Studio 2015 update 2 中启动了空白的跨平台项目 Visual C gt 跨平台 gt 空白应用程序 Xamarin Forms 可移植 它在解决方案中创建了 6 个项目 然后我尝试更新所有这些的块包
  • 在 NDK 工具链文件夹中找不到带有前缀的 ABI 工具链:mips64el-linux-android [重复]

    这个问题在这里已经有答案了 谁能告诉我为什么会收到此错误 我已经从 GitHub 下载了 Udacity 课程的一系列项目 由于存储库中有大约 50 或 60 个项目 练习和解决方案 我认为这与每个项目本身都是一个单独的项目有关 当我分叉一
  • 在二叉搜索树中查找重复条目的策略

    我有一个 BST 其中有重复的条目 我正在尝试查找重复的条目 现在显然我可以编写一个遍历整棵树的愚蠢算法 这很容易 不过 我想写一个更高效的 这是我到目前为止所做的 所想的 假设有以下树 10 5 15 2 8 10 16 8 12 如果我
  • 如何提取 csv 文件的一列

    如果我有一个 csv 文件 是否有一种快速的 bash 方法可以仅打印任何单列的内容 可以安全地假设每行具有相同的列数 但每列的内容将具有不同的长度 您可以为此使用 awk 将 2 更改为所需的第 n 列 awk F print 2 tex
  • JS:不使用 jQuery 从字符串中提取文本

    我有这个字符串 var string
  • Oracle Java 类中 system.out.println 输出去了哪里?

    我已使用 loadjava 实用程序将 Java 类加载到 Oracle 中 这个类有一些系统输出打印文件消息 当我执行此类的方法时 我想查看系统输出消息 我在哪里可以找到这些消息 系统输出 and 系统错误写入当前跟踪文件 您可以启用 S
  • Python sys.stderr 刷新频率

    sys stderr 多久刷新一次缓冲区 这是不同环境中的标准吗 gt gt gt import sys gt gt gt sys stderr
  • 如何使用 React hooks 和 Redux 从 useEffect 执行 store.unsubscribe

    我有一个使用 redux 和 hooks 的 React 无状态组件 我需要显示页面加载时的项目数量 useEffect 并在每次添加或删除项目时更新它 store subscribe useEffect gt setState items
  • 编译sdk应该低于目标sdk

    对 SO 的压倒性建议是编译 SDK 通常应该与目标 SDK 匹配 https stackoverflow com a 27629181 360211 同样 建议将此 compileSdk 与您的目标 sdk 版本相匹配 https sta
  • 如何从不受支持的国家/地区销售付费应用程序[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想出售我开发的应用程序 但我的国家 罗马尼亚 不支持此服务 因此 我想请一位住在可以销售付费应用程序的国家 法国或美国 的朋友帮助我 现在我不知道该怎么告诉他这个过程 他身边需要什
  • 捕获地理位置错误 - 异步等待

    如何捕获特定于地理位置的错误以通知用户他们必须打开地理定位 catch 记录了一个名为位置误差正如 Mozilla 文档中所引用的 https developer mozilla org en US docs Web API Positio
  • 在 Android M 上请求麦克风权限

    我需要在 Android M 中使用麦克风 我尝试在清单中设置权限组 但无法使其正常工作 这是我在清单中得到的内容
  • 将 iPhone 应用程序与 Shibboleth 集成

    有人将 iPhone 应用程序与 Shibboleth 身份提供商集成吗 谷歌搜索没有得到任何结果 所以我直接询问大师 如果以前没有这样做过 这样做是否可行 两者的答案都是 是 我是一名 Java 人员 所以两周前被问到 学习 Object
  • 温莎城堡如何响应实现多个接口的类?

    例如 我有两个接口 ICustomerService 和 IOrderService 每个接口都有几个函数 例如 GetCustomer GetOrder 等 我想要一个类来实现这两个接口 Server 温莎城堡对此有何回应 首先有可能吗
  • 合并 XmlNodelist

    任何人都可以给我一个将 xmlNodelists 合并到单个列表的解决方案吗 我会使用 LINQ Concat方法 问题是XmlNodeList is IEnumerable相对于IEnumerable lt XmlNode gt 因此你必
  • 解释GDB寄存器(SSE寄存器)

    我已经使用 GDB 1 天了 我对它有了一定的了解 但是 当我使用 GDB 和打印寄存器在最后一个分号处设置断点时 我无法完全解释存储到 XMM 寄存器中的数据的含义 我不知道数据是否采用 MSB gt LSB 格式 反之亦然 m128i
  • R 中向量的子向量之和

    给定一个向量x长度为 k 我想获得一个 k x k 矩阵X where X i j 是x i x j 我现在的做法是 set seed 1 x lt rnorm 10 X lt matrix 0 10 10 for i in 1 10 fo