s-news
[Top] [All Lists]

Formula stack overflow

To: <s-news@wubios.wustl.edu>
Subject: Formula stack overflow
From: "VERSCHELDE, Pieter" <Pieter.VERSCHELDE@inbo.be>
Date: Tue, 4 Jul 2006 10:49:25 +0200
Thread-index: AcafRsB99GNLhvWTSQqNa7afsTlLzA==
Thread-topic: Formula stack overflow

I use S-PLUS 7.0 on Windows (Probably the same would happen for version 6).

I tried to perform a PCA analysis on a test dataset (just random normal numbers) of 100 rows and 1000 columns. I wanted to simulate what would happen if one uses the menu sytem to analyse a dataset of this size by clicking the variables they want in their analysis.

I got a result as expected, but when I looked closer I saw only the first 260 elements of the formula where used to calculate the PCA. I changed the names of the dataset into longer names to test if the number of elements would reduce, but it stayed 260 elements (to be sure it was not the formula field itself that could not handle such a long formula).

This was a problem because I made a PCO menu-system in about the same format as the PCA-menu sytem where a dataset that includes both some descriptive variables and the binary levels of the occurrence of genes are allowed as input (that is the way the scientists get their data and I did not want to make it too difficult for them to be forced to change their dataset)

 

I tried to find out if this behaviour was similar in the command language:

 

fmla <- paste('~',paste('X.',1:334,sep="",collapse=" + "))

setf <- parse(text=setformula)

This gives a stack overflow when one looks into the setf variable

 

When only 333 elements used it was no problem.

 

Is there a way to make sure all the 1000 elements are used for an analysis, without taking into account the alternative that a PCA analysis can also be performed by the command language princomp(data) or by using the <ALL> or ~. in the menusytem as formula? It is also strange that the menu system only accepts 260 instead of 333.

 

Kind regards,

 

Pieter

<Prev in Thread] Current Thread [Next in Thread>
  • Formula stack overflow, VERSCHELDE, Pieter <=