Rについて簡単な質問があります。
長さが整数 h の倍数である配列 x があるとします。長さ length(x)/h の新しい配列を作成したいと思います。その要素は、最初の h 要素の合計、次に次の h 要素の合計などです。
私は悪いC関連のコーディングを使ってそれを行うことができますが、Rでそれを行う最も効率的な方法を見たいと思っています.
ご協力いただきありがとうございます。
Rについて簡単な質問があります。
長さが整数 h の倍数である配列 x があるとします。長さ length(x)/h の新しい配列を作成したいと思います。その要素は、最初の h 要素の合計、次に次の h 要素の合計などです。
私は悪いC関連のコーディングを使ってそれを行うことができますが、Rでそれを行う最も効率的な方法を見たいと思っています.
ご協力いただきありがとうございます。
あなたの価値観が
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