Re: [R] Matrix: Problem with the code

2009-01-09 Thread markleeds
Thanks Kingsford. I thought the column power was supposed to be just for 
that column but you're probably correct.  English has its oddities 
because if one reads the actual sentence the person wrote it's still not 
clear, atleast to me.


"Actually I want to have a matrix with p columns such that each column
will have the elements of  x^(column#)"

Thanks and apologies to Charlotte for my incorrect correction.



On Fri, Jan 9, 2009 at  9:37 PM, Kingsford Jones wrote:


On Fri, Jan 9, 2009 at 6:36 PM,   wrote:
Charlotte: I ran your code because I wasn't clear on it and your way 
would

cause more matrices than the person requested.


Bhargab gave us

 x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)

and said: "I want to have a matrix with p columns such that each
column will have the elements of  x^(column#)."

so, I think Charlotte's code was spot-on:

p <- 3
outer(x, 1:p, '^')
 [,1] [,2]   [,3]
 [1,]   23  529  12167
 [2,]   67 4489 300763
 [3,]24  8
 [4,]   87 7569 658503
 [5,]9   81729
 [6,]   63 3969 250047
 [7,]8   64512
 [8,]24  8
 [9,]   35 1225  42875
[10,]6   36216
[11,]   91 8281 753571
[12,]   41 1681  68921
[13,]   22  484  10648
[14,]39 27


Here's another way -- a bit less elegant, but a gentle
introduction to thinking in vectors rather than elements:

 mat <- matrix(0,nrow=length(x), ncol=p)

 for(i in 1:p) mat[,i] <- x^i
 mat
 [,1] [,2]   [,3]
 [1,]   23  529  12167
 [2,]   67 4489 300763
 [3,]24  8
 [4,]   87 7569 658503
 [5,]9   81729
 [6,]   63 3969 250047
 [7,]8   64512
 [8,]24  8
 [9,]   35 1225  42875
[10,]6   36216
[11,]   91 8281 753571
[12,]   41 1681  68921
[13,]   22  484  10648
[14,]39 27


best,

Kingsford Jones






So
I think the code below it, although not too short, does what the 
person

asked. Thanks though because I understand outer better now.

temp <- matrix(c(1,2,3,4,5,6),ncol=2)
print(temp)

#One of those more elegant ways:
print(temp)
outer(temp,1:p,'^')One of those more elegant ways:


# THIS WAY I THINK GIVES WHAT THEY WANT

sapply(1:ncol(temp), function(.col) {
 temp[,.col]^.col
})



On Fri, Jan 9, 2009 at  7:40 PM, Charlotte Wickham wrote:


One of those more elegant ways:
outer(x, 1:p, "^")

Charlotte

On Fri, Jan 9, 2009 at 4:24 PM, Sarah Goslee 


wrote:


Well, mat doesn't have any dimensions / isn't a matrix, and we 
don't
know what p is supposed to be. But leaving aside those little 
details,

do you perhaps want something like this:

x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
p <- 5
mat<- matrix(0, nrow=p, ncol=length(x))
for(j in 1:length(x))
{
for(i in 1:p)
mat[i,j]<-x[j]^i
}

Two notes: I didn't try it out, and if that's what you want rather
than a toy example
of a larger problem, there are more elegant ways to do it in R.

Sarah

On Fri, Jan 9, 2009 at 6:42 PM, Bhargab Chattopadhyay
 wrote:


Hi,


Can any one please explain why the following code doesn't work? Or 
can

anyone suggest an alternative.
Suppose
 x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
  mat<-0;
  for(j in 1:length(x))
  {
 for(i in 1:p)
  mat[i,j]<-x[j]^i;
  }
  Actually I want to have a matrix with p columns such that each 
column

will have the elements of  x^(column#).

Thanks in advance.

Bhargab







--
Sarah Goslee
http://www.functionaldiversity.org

__
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.



__
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.


__
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.



__
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.


Re: [R] Matrix: Problem with the code

2009-01-09 Thread Kingsford Jones
On Fri, Jan 9, 2009 at 6:36 PM,   wrote:
> Charlotte: I ran your code because I wasn't clear on it and your way would
> cause more matrices than the person requested.

Bhargab gave us

 x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)

and said: "I want to have a matrix with p columns such that each
column will have the elements of  x^(column#)."

so, I think Charlotte's code was spot-on:

p <- 3
outer(x, 1:p, '^')
 [,1] [,2]   [,3]
 [1,]   23  529  12167
 [2,]   67 4489 300763
 [3,]24  8
 [4,]   87 7569 658503
 [5,]9   81729
 [6,]   63 3969 250047
 [7,]8   64512
 [8,]24  8
 [9,]   35 1225  42875
[10,]6   36216
[11,]   91 8281 753571
[12,]   41 1681  68921
[13,]   22  484  10648
[14,]39 27


Here's another way -- a bit less elegant, but a gentle
introduction to thinking in vectors rather than elements:

 mat <- matrix(0,nrow=length(x), ncol=p)

 for(i in 1:p) mat[,i] <- x^i
 mat
 [,1] [,2]   [,3]
 [1,]   23  529  12167
 [2,]   67 4489 300763
 [3,]24  8
 [4,]   87 7569 658503
 [5,]9   81729
 [6,]   63 3969 250047
 [7,]8   64512
 [8,]24  8
 [9,]   35 1225  42875
[10,]6   36216
[11,]   91 8281 753571
[12,]   41 1681  68921
[13,]   22  484  10648
[14,]39 27


best,

Kingsford Jones






So
> I think the code below it, although not too short, does what the person
> asked. Thanks though because I understand outer better now.
>
> temp <- matrix(c(1,2,3,4,5,6),ncol=2)
> print(temp)
>
> #One of those more elegant ways:
> print(temp)
> outer(temp,1:p,'^')One of those more elegant ways:
>
>
> # THIS WAY I THINK GIVES WHAT THEY WANT
>
> sapply(1:ncol(temp), function(.col) {
>  temp[,.col]^.col
> })
>
>
>
> On Fri, Jan 9, 2009 at  7:40 PM, Charlotte Wickham wrote:
>
>> One of those more elegant ways:
>> outer(x, 1:p, "^")
>>
>> Charlotte
>>
>> On Fri, Jan 9, 2009 at 4:24 PM, Sarah Goslee 
>> wrote:
>>>
>>> Well, mat doesn't have any dimensions / isn't a matrix, and we don't
>>> know what p is supposed to be. But leaving aside those little details,
>>> do you perhaps want something like this:
>>>
>>> x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
>>> p <- 5
>>> mat<- matrix(0, nrow=p, ncol=length(x))
>>> for(j in 1:length(x))
>>> {
>>> for(i in 1:p)
>>> mat[i,j]<-x[j]^i
>>> }
>>>
>>> Two notes: I didn't try it out, and if that's what you want rather
>>> than a toy example
>>> of a larger problem, there are more elegant ways to do it in R.
>>>
>>> Sarah
>>>
>>> On Fri, Jan 9, 2009 at 6:42 PM, Bhargab Chattopadhyay
>>>  wrote:

 Hi,


 Can any one please explain why the following code doesn't work? Or can
 anyone suggest an alternative.
 Suppose
  x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
   mat<-0;
   for(j in 1:length(x))
   {
  for(i in 1:p)
   mat[i,j]<-x[j]^i;
   }
   Actually I want to have a matrix with p columns such that each column
 will have the elements of  x^(column#).

 Thanks in advance.

 Bhargab



>>>
>>>
>>>
>>> --
>>> Sarah Goslee
>>> http://www.functionaldiversity.org
>>>
>>> __
>>> 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.
>>>
>>
>> __
>> 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.
>
> __
> 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.
>

__
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.


Re: [R] Matrix: Problem with the code

2009-01-09 Thread markleeds
Charlotte: I ran your code because I wasn't clear on it and your way 
would cause more matrices than the person requested. So
I think the code below it, although not too short, does what the person 
asked. Thanks though because I understand outer better now.


temp <- matrix(c(1,2,3,4,5,6),ncol=2)
print(temp)

#One of those more elegant ways:
print(temp)
outer(temp,1:p,'^')One of those more elegant ways:


# THIS WAY I THINK GIVES WHAT THEY WANT

sapply(1:ncol(temp), function(.col) {
  temp[,.col]^.col
})



On Fri, Jan 9, 2009 at  7:40 PM, Charlotte Wickham wrote:


One of those more elegant ways:
outer(x, 1:p, "^")

Charlotte

On Fri, Jan 9, 2009 at 4:24 PM, Sarah Goslee  
wrote:

Well, mat doesn't have any dimensions / isn't a matrix, and we don't
know what p is supposed to be. But leaving aside those little 
details,

do you perhaps want something like this:

 x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
 p <- 5
 mat<- matrix(0, nrow=p, ncol=length(x))
 for(j in 1:length(x))
 {
 for(i in 1:p)
 mat[i,j]<-x[j]^i
 }

Two notes: I didn't try it out, and if that's what you want rather
than a toy example
of a larger problem, there are more elegant ways to do it in R.

Sarah

On Fri, Jan 9, 2009 at 6:42 PM, Bhargab Chattopadhyay
 wrote:

Hi,


Can any one please explain why the following code doesn't work? Or 
can anyone suggest an alternative.

Suppose
  x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
   mat<-0;
   for(j in 1:length(x))
   {
  for(i in 1:p)
   mat[i,j]<-x[j]^i;
   }
   Actually I want to have a matrix with p columns such that each 
column will have the elements of  x^(column#).


Thanks in advance.

Bhargab







--
Sarah Goslee
http://www.functionaldiversity.org

__
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.



__
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.


__
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.


Re: [R] Matrix: Problem with the code

2009-01-09 Thread Charlotte Wickham
One of those more elegant ways:
outer(x, 1:p, "^")

Charlotte

On Fri, Jan 9, 2009 at 4:24 PM, Sarah Goslee  wrote:
> Well, mat doesn't have any dimensions / isn't a matrix, and we don't
> know what p is supposed to be. But leaving aside those little details,
> do you perhaps want something like this:
>
>  x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
>  p <- 5
>  mat<- matrix(0, nrow=p, ncol=length(x))
>  for(j in 1:length(x))
>  {
>  for(i in 1:p)
>  mat[i,j]<-x[j]^i
>  }
>
> Two notes: I didn't try it out, and if that's what you want rather
> than a toy example
> of a larger problem, there are more elegant ways to do it in R.
>
> Sarah
>
> On Fri, Jan 9, 2009 at 6:42 PM, Bhargab Chattopadhyay
>  wrote:
>> Hi,
>>
>>
>> Can any one please explain why the following code doesn't work? Or can 
>> anyone suggest an alternative.
>> Suppose
>>   x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
>>mat<-0;
>>for(j in 1:length(x))
>>{
>>   for(i in 1:p)
>>mat[i,j]<-x[j]^i;
>>}
>>Actually I want to have a matrix with p columns such that each column 
>> will have the elements of  x^(column#).
>>
>> Thanks in advance.
>>
>> Bhargab
>>
>>
>>
>
>
>
> --
> Sarah Goslee
> http://www.functionaldiversity.org
>
> __
> 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.
>

__
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.


Re: [R] Matrix: Problem with the code

2009-01-09 Thread Sarah Goslee
Well, mat doesn't have any dimensions / isn't a matrix, and we don't
know what p is supposed to be. But leaving aside those little details,
do you perhaps want something like this:

  x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
  p <- 5
  mat<- matrix(0, nrow=p, ncol=length(x))
  for(j in 1:length(x))
  {
  for(i in 1:p)
  mat[i,j]<-x[j]^i
  }

Two notes: I didn't try it out, and if that's what you want rather
than a toy example
of a larger problem, there are more elegant ways to do it in R.

Sarah

On Fri, Jan 9, 2009 at 6:42 PM, Bhargab Chattopadhyay
 wrote:
> Hi,
>
>
> Can any one please explain why the following code doesn't work? Or can anyone 
> suggest an alternative.
> Suppose
>   x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
>mat<-0;
>for(j in 1:length(x))
>{
>   for(i in 1:p)
>mat[i,j]<-x[j]^i;
>}
>Actually I want to have a matrix with p columns such that each column will 
> have the elements of  x^(column#).
>
> Thanks in advance.
>
> Bhargab
>
>
>



-- 
Sarah Goslee
http://www.functionaldiversity.org

__
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.


[R] Matrix: Problem with the code

2009-01-09 Thread Bhargab Chattopadhyay
Hi,


Can any one please explain why the following code doesn't work? Or can anyone 
suggest an alternative.
Suppose
  x<-c(23,67,2,87,9,63,8,2,35,6,91,41,22,3)
   mat<-0;
   for(j in 1:length(x))
   {    
  for(i in 1:p)   
   mat[i,j]<-x[j]^i;
   }
   Actually I want to have a matrix with p columns such that each column will 
have the elements of  x^(column#).

Thanks in advance.

Bhargab


  
[[alternative HTML version deleted]]

__
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.