gpt4 book ai didi

r - R中的数组操作

转载 作者:行者123 更新时间:2023-12-04 04:38:32 25 4
gpt4 key购买 nike

我有一个关于 R 的简单问题。

假设我有一个数组 x,其长度是整数 h 的倍数。我想构造一个长度为 length(x)/h 的新数组,其元素是前 h 个元素的总和,然后是接下来 h 个元素的总和,等等。

我可以使用与 C 相关的糟糕编码来实现,但我希望看到使用 R 实现它的最有效方法。

感谢您的帮助。

最佳答案

说你的值(value)观是

x = 1:100
h = 10

您可以通过创建一个具有 h 行的矩阵并取列总和来实现此目的:
colSums(matrix(x, nrow=h))
# [1] 55 155 255 355 455 555 655 755 855 955

这是有效的,因为矩阵按列填充值:
matrix(x, nrow=h)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 11 21 31 41 51 61 71 81 91
[2,] 2 12 22 32 42 52 62 72 82 92
[3,] 3 13 23 33 43 53 63 73 83 93
[4,] 4 14 24 34 44 54 64 74 84 94
[5,] 5 15 25 35 45 55 65 75 85 95
[6,] 6 16 26 36 46 56 66 76 86 96
[7,] 7 17 27 37 47 57 67 77 87 97
[8,] 8 18 28 38 48 58 68 78 88 98
[9,] 9 19 29 39 49 59 69 79 89 99
[10,] 10 20 30 40 50 60 70 80 90 100

关于r - R中的数组操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19289144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com