我正在尝试对矩阵进行子集化:
windowSize <- 60
windows <- embed(1:nrow(datatsr), windowSize)
head(windows):
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18]
[1,] 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43
[2,] 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44
[3,] 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45
[4,] 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46
[5,] 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47
[6,] 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48
dim(windows)
[1] 3291 60
按值(其中V1
列实际上是我想包含在windows
上面的矩阵中的行号):
头部(子集):
V1
1 67
2 89
3 111
4 133
5 155
6 176
dim(subset)
[1] 152 1
range(subset)
[1] 67 3351
我希望输出矩阵仅包含subset
矩阵 V1 列中存在的行号,而不包含其他行。
例如:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18]
[1,] 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109
其中第一个值subset[,1]
是从 126 到 109 的序列 - 存在于windows
矩阵第 67 行的序列。等等...
我试过:
window=windows[subset[,1],]
Error: subscript out of bounds
或者:
window=subset(windows,windows%in%subset[,1])
Error in subset.matrix(windows, windows %in% subset[, 1]) :
(subscript) logical subscript too long
我究竟做错了什么?