Dear all,

My script returns the following error:

Error in storage.mode(test) <- "logical" : (list) object cannot be coerced to type 'double'

I've looked around and some suggest that it could be the way data have been 
imported. For my case, I don't think it is such. Rather I think it has to be 
the way I define x1 and in1. x1 is an object in which the values are written to 
which in turn serve as input.

The object, x, contain 32 files of 2x2 matrix.

Any guidance would be appreciated.


Muhammad

---------------------------------------------


# Cleans workspace

rm(list=ls())

# ---------- DATA ---------- #

# Load DATA[1]: Monthly anomalies

f <- list.files("C:/Documents and Settings/shil3148/Desktop/dsi", "\\.txt$") # List files with pattern matching
x <- lapply(f, read.table)            # DATA[1]: Monthly anomalies

# Prepare DATA[2]: Rolling Sum

nt <- 6 ed <- nt - 1 fl <- length(x) y0 <- list() for (i in 1:(fl-ed)) # Remove NA values
{
 y0[[i]] <- Reduce("+", x[c(i:(i+ed))])     # RAW: Rolling Sum
}

# Data conversion

xx <- list()
for (z in 1:length(x))
{
xx[[z]] <- as.matrix(x[[z]])    # convert data to matrix
}

yy <- list()
for (f in 1:length(y0))
{
yy[[f]] <- as.matrix(y0[[f]])    # convert data to matrix
}

# ---------- ALGORITHM ---------- #

x1  <- list()                 # Error here
in1 <- list()                 # Error here
for (t in 1:27)             # This is the length of yy
{
 in1[t+1] <-
   ifelse(x1[t] < 0, (
       ifelse(yy[t] < 0, x1[t] + xx[t+5], 0)), (
           ifelse(yy[t+1] >= 0, 0, (
               ifelse(xx[t+5] >= 0, 0, xx[t+5])
           ))
       )
   )
x1[t+1] <- in1[t+1] }

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to