- スレ立てるまでもない質問はここで 140匹目 [転載禁止]©2ch.net
775 :デフォルトの名無しさん[sage]:2015/08/06(木) 18:52:05.99 ID:e6nySFzy - まったくのド素人ですみませんが、皆様にご教示いただきたく投稿します。
Rでforの多重ループを回しているのですが、終わる気配がありません。Rがすごく遅いのは知っておりますが、Rを使いたい事情が別にあります。 縦軸が日付(2500日ほど)、横軸が2000人分の名前です(変数l)、交点がある日付における各人の値(たとえば体重)になっている.csvファイルです。 データフレームaは1月から12月まで(変数h)の過去10年分(変数k)の基準日を示しています。この基準日のi日前(2-125)から数えて、j日後における値の変化率を10年分、各月ごとに計算したいのです。 x<- read.csv("縦軸に日付(上にいくほど新しい)、横軸が2000人の名前") a<-rbind( c(130, 374, 619, 867, 1112, 1357, 1600, 1845, 2090, 2338), c(111, 355, 600, 846, 1093, 1338, 1581, 1825, 2071, 2318), c(89, 335, 580, 825, 1071, 1316, 1560, 1805, 2050, 2296), c(68, 314, 559, 805, 1051, 1295, 1539, 1784, 2030, 2276), c(50, 294, 538, 784, 1032, 1277, 1521, 1764, 2009, 2256), c(28, 273, 518, 763, 1010, 1255, 1499, 1743, 1988, 2234), c(6, 251, 496, 742, 990, 1234, 1477, 1721, 1967, 2214), c(230, 474, 719, 967, 1212, 1456, 1700, 1944, 2191, 2438), c(210, 455, 700, 947, 1192, 1437, 1680, 1926, 2171, 2418), c(188, 433, 678, 927, 1172, 1416, 1658, 1904, 2150, 2398), c(170, 413, 657, 907, 1152, 1397, 1640, 1883, 2130, 2378), c(149, 393, 638, 886, 1131, 1376, 1619, 1864, 2109, 2357)) result <- array(0, dim=c(200,125,125,5,12)) for (l in 1:2000) { for (h in 1:12) { for (i = 2:125) { for (j in 2:i) { for (k in 1:10) { result[l,i,j,k,h] <- x[a[h,k]+i-j,l+1]/x[a[h,k]+i,l+1] }}}}}
|