[R] eval function with javascript-semantics possible in R?

David Winsemius dwinsemius at comcast.net
Wed Feb 10 23:34:02 CET 2010


On Feb 10, 2010, at 5:12 PM, Chaehan So wrote:

> Thank you, it works for the first problem!
>
> Yet for the second problem, how can I solve that in one dataframe  
> (here:
> latentVariableNames),
> I store the names of the according dataframes as strings, and then  
> want to
> access the
> according dataframe (here: currentName) - see below?
>
> latentVariables <- c("Planning", "Testing", ...)
> createTable <- function(latentVariableNames)
> {
> for (currentName in names(latentVariableNames))

... but, but,  latentVariables is a name-less vector???? You didn't  
give those strings any names.

 > latentVariables <- c("Planning", "Testing")
 > names(latentVariables)
NULL

If you want to iterate along a character vector, you use:

for (item in vector) {
               < body of loop working on item's >
                      }
OR;

for (idx in seq_along(latentVariables) ) {
          < operations on  latentVariables[idx] >
              }

(Review the basic manuals you are using to learn R.)
-- 
David
> {
> doSomethingWith(currentName)
> }
> }
>
>
> On Wed, Feb 10, 2010 at 8:36 PM, Henrique Dallazuanna <wwwhsd at gmail.com 
> >wrote:
>
>> Try this:
>>
>> fileName <- "testfile%s"
>> lapply(sprintf(fileName, 1:2), read.csv, dec = ",")
>>
>> On Wed, Feb 10, 2010 at 5:28 PM, Chaehan So <chaehan.so at gmail.com>  
>> wrote:
>>> Dear r-helpers,
>>>
>>> I am looking for an R-equivalent for the eval-function in javascript
>> which
>>> can
>>> interpret a string as code on runtime, thereby allowing things like
>>>
>>> for (i in c(1:2))
>>> {
>>>
>>> eval(items + "i") <- read.csv(eval(filename+ i), dec=",");
>>>
>>> }
>>>
>>> which would execute (with filename="testfile"):
>>>
>>> items1 <- read.csv(testfile1, dec=",");
>>> items2 <- read.csv(testfile2, dec=",");
>>>
>>>
>>> The way I intend to use it is to define a string list containing  
>>> names of
>>> date.frames,
>>> and interate this list to perform some function:
>>>
>>> createTable <- function(latentVariableNames)
>>> {
>>> for (currentName in names(latentVariableNames))
>>> {
>>> doSomethingWith(currentName)
>>> }
>>> }
>>>
>>>
>>> Would be grateful for any help!
>>>
>>> Chaehan
>>>
>>>       [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help at 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.
>>>
>>
>>
>>
>> --
>> Henrique Dallazuanna
>> Curitiba-Paraná-Brasil
>> 25° 25' 40" S 49° 16' 22" O
>>
>
>
>
> -- 
> Humboldt University Berlin, Germany
> Institute of Psychology
> Rudower Chaussee 18, Room 1221
> 12489 Berlin
> Germany
> Office: +49 30 2093 - 9337
> Mobile: +49 171- 626 9373
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT



More information about the R-help mailing list