Requesting for help on the problem of "subscript out of bounds"
What I would do next is to insert a line to see where it goes wrong:
for (i in 1:N){
cat("i =",i,"\n")
r[i]<-approx_entropy(ts[i,], edim = 2, r = 0.2*sd(ts[i,]), elag = 1)
}
The last i that is printed (which may be the first) will reveal what
caused the error I hope.
Jim
On Sat, Oct 6, 2018 at 7:12 PM Subhamitra Patra
<subhamitra.patra at gmail.com> wrote:
Hello Sir,
I tried by defining mat, but still facing the same problem.
Hence, mat represents the time series. This time, I defined it as ts and tried, but still having the same problem.
In particular, the problem is coming in the following line
for (i in 1:N){
+ r[i]<-approx_entropy(ts[i,], edim = 2, r = 0.2*sd(ts[i,]), elag = 1)
where i is unable to synchronize with the no. of rows i.e. rows and thus I am getting the error of
Error in `[<-`(`*tmp*`, i, , value = ts[i:(N - m + i)]) :
subscript out of bounds
For your reference, I am providing my full code with an explanation as follows.
The function
approx_entropy(ts, edim = 2, r = 0.2*sd(ts), elag = 1)
from the package,pracma I am calculating the approximate entropy of time series.ts
I have a matrix of time series (one series per row i.e. 51 rows and 1 column) and I would estimate the approximate entropy for each of the rows, storing the results in a vector. So, I have written a code
library(pracma)
N<-nrow(ts)
r<-matrix(0, nrow = N, ncol = 1)
for (i in 1:N){
r[i]<-approx_entropy(ts[i,], edim = 2, r = 0.2*sd(ts[i,]), elag = 1)
}
After calculating for 1 series, I need to calculate the same things for the multiple series by changing the dimension of the ncol.
Please help me in this regard.
Thanks in advance.
On Sat, Oct 6, 2018 at 2:22 PM Jim Lemon <drjimlemon at gmail.com> wrote:
Hi Subhamitra, Where I think the error arises is in the line: N<-nrow(mat) Since we don't know what "mat" is, we don't know what nrow(mat) will return. If "mat" is not a matrix or data frame, it is likely to be NULL. Try this: print(N) after defining it and see what it is. Jim On Sat, Oct 6, 2018 at 5:51 PM Subhamitra Patra <subhamitra.patra at gmail.com> wrote:
Hello friends,
I am very new in this R world. But, still doing some programming by
learning. While running one code, I found the problem of "subscript out of
bounds". Please suggest me how to overcome this problem? For your
reference, I am uploading my code here.
The function
approx_entropy(ts, edim =2, r = 0.2*sd(ts), elag = 1)
library(pracma)
N<-nrow(mat)
r<-matrix(0, nrow = N, ncol = 1)for (i in 1:N){
r[i]<-approx_entropy(mat[i,], edim = 2, r = 0.2*sd(mat[i,]), elag = 1)}
After running this code, I am getting the error of
*"subscript out of bounds"*
Please help me for which I shall be always grateful to you.
Thanks in advance.
--
*Best Regards,*
*Subhamitra Patra*
*Phd. Research Scholar*
*Department of Humanities and Social Sciences*
*Indian Institute of Technology, Kharagpur*
*INDIA*
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
-- Best Regards, Subhamitra Patra Phd. Research Scholar Department of Humanities and Social Sciences Indian Institute of Technology, Kharagpur INDIA