[R] How to create multi variables
David Winsemius
dwinsemius at comcast.net
Thu May 15 02:02:53 CEST 2014
On May 13, 2014, at 7:22 PM, yuanzhi wrote:
> Thank you for your reply.
>
> Yes, there is a problem according to you suggestion.
> What if the value are not numerical, e.g. I want to use the variable to
> store the results of linear regression.
> can I use
> myvec <- vector( "numeric", 10 )
If you used:
myvec <- vector("list", 10) # it would succeed.
# In R lists _are_ vectors (but not atomic)
> for ( i in 1:10 ) {
> myvec[ i ] <- summary(lm(y~x)) # y and x are different values in each
> loop.
> }
> ?
>
> you advice seems only to be available when the function left allocates a
> numerical value to the variable, what if the function return other type of
> objects?
You need more study with R programming basic texts.
--
David.
>
>
>
>
> Jeff Newmiller wrote
>> What is wrong with
>>
>> myvec <- vector( "numeric", 10 )
>> for ( i in 1:10 ) {
>> myvec[ i ] <- i
>> }
>>
>> ?
>>
>> If you are using assign, IMHO you are probably doing whatever you are
>> doing wrong.
>>
>> If you want named elements, give the vector names:
>>
>> names( myvec ) <- paste0( "t", 1:10 )
>>
>> and you can refer to them
>>
>> myvec[ "t3" ]
>>
>> Go read the "Introduction to R" document again... particularly the
>> discussion of indexing.
>> ---------------------------------------------------------------------------
>> Jeff Newmiller The ..... ..... Go
>> Live...
>> DCN:<
>
>> jdnewmil at .ca
>
>> > Basics: ##.#. ##.#. Live Go...
>> Live: OO#.. Dead: OO#.. Playing
>> Research Engineer (Solar/Batteries O.O#. #.O#. with
>> /Software/Embedded Controllers) .OO#. .OO#.
>> rocks...1k
>> ---------------------------------------------------------------------------
>> Sent from my phone. Please excuse my brevity.
>>
>> On May 13, 2014 5:47:12 PM PDT, Yuanzhi Li <
>
>> Yuanzhi.Li@
>
>> > wrote:
>>> Hi, everyone
>>>
>>> I want to create a series of variables (e.g. t1, t2..., t10) which
>>> could
>>> be used in loops. My idea is to use function "assign"
>>>
>>> for (i in 1:10)
>>> {
>>> assign(paste("t",i,sep=""), FUN) # allocate the value from FUN to
>>> variable ti
>>> }
>>>
>>> But when I create a vector containing the names of these variables and
>>> want to use the variables according to the subscript, it doesn't works.
>>>
>>> t<-noquote(paste("t",1:10,sep=""))
>>> t[1]
>>> t1
>>> it returns only the name of variable t1, but not the value allocated to
>>>
>>> t1 by FUN. So what should I do to realize this?
>>>
>>> Or is there any better way to do this?
>>>
>>> Can we define a series of variables which can be used according to the
>>> subscript like
>>> t<-f(t1, t2..., t10),
>>> then we have 10 variables which can be used directly?
>>> for(i in 1:10)
>>> {
>>> t[i]<-FUN# with the fines variables we can directly assign the value
>>> of FUN to ti
>>> }
>>> These are just my thoughts, I don't know whether there are available R
>>> codes to realized it. I am looking forward any help from you.
>>>
>>> Thanks in advance!
>>>
>>> Yuanzhi
>>>
>>> ______________________________________________
>>>
>
>> R-help@
>
>> 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.
>>
>> ______________________________________________
>
>> R-help@
>
>> 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.
>
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/How-to-create-multi-variables-tp4690465p4690470.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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
Alameda, CA, USA
More information about the R-help
mailing list