[R] Scaling error

2009-12-27 Thread Muhammad Rahiz

Hi useRs,

I ran into an inconsistent output problem again. Here is the simplify 
illustration


I've got a matrix as follows

 x
   V1V2   V3
[1,]   1  2 3
[2,]   4  5 6
[3,]   7  8 9

Associated with the matrix is a scaling factor, sca, derived from, say 
the mean of the respective columns, V1-V3;


 sca
   V1V2   V3
   2.5   1.7   3.6

The idea is that the scaling factor gets applied to each element in the 
column matrix. So


 out - x / sca

would give me

V1V2 V3
1 *2.5   2 *1.7   3 *3.6
4 *2.5   5 *1.7   6 *3.6
7 *2.5   8 *1.7   9 *3.6

But what actually happen is this,

V1V2 V3
1 *2.5   2 *2.5   3 *2.5
4 *1.7   5 *1.7   6 *1.7
7 *3.6   8 *3.6   9 *3.6

I can do the following;

 x[,1] / sca[1]
 x[,2] / sca[2]

which is OK for a set of test data but not for my actual dataset.

At the moment, I'm thinking of something in the lines of a for loop 
function i.e.


for (i in ...){
statement...
}

Is there a syntax in the for loop that allows me to select the 
column/row in the file?


Thanks.

--
Muhammad Rahiz  |  Doctoral Student in Regional Climate Modeling

Climate Research Laboratory, School of Geography  the Environment  
Oxford University Centre for the Environment
South Parks Road, Oxford, OX1 3QY, United Kingdom 
Tel: +44 (0)1865-285194	 Mobile: +44 (0)7854-625974

Email: muhammad.ra...@ouce.ox.ac.uk

__
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] Scaling error

2009-12-27 Thread Daniel Malter
If  out  is what you want to achieve, why don't you multiply sca (called
m below) with the transpose of x and then transpose the resulting
matrix?

x=c(1,2,3,4,5,6,7,8,9)
dim(x)=c(3,3)
x=t(x)

x
m=c(2.5,1.7,3.6)

x*m #returns what you don't want

t(t(x)*m) #returns what you want

HTH
Daniel

-
cuncta stricte discussurus
-
-Original Message-
From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On
Behalf Of Muhammad Rahiz
Sent: Sunday, December 27, 2009 2:27 PM
To: r-help@r-project.org
Subject: [R] Scaling error

Hi useRs,

I ran into an inconsistent output problem again. Here is the simplify 
illustration

I've got a matrix as follows

  x
V1V2   V3
[1,]   1  2 3
[2,]   4  5 6
[3,]   7  8 9

Associated with the matrix is a scaling factor, sca, derived from, say 
the mean of the respective columns, V1-V3;

  sca
V1V2   V3
2.5   1.7   3.6

The idea is that the scaling factor gets applied to each element in the 
column matrix. So

  out - x / sca

would give me

V1V2 V3
1 *2.5   2 *1.7   3 *3.6
4 *2.5   5 *1.7   6 *3.6
7 *2.5   8 *1.7   9 *3.6

But what actually happen is this,

V1V2 V3
1 *2.5   2 *2.5   3 *2.5
4 *1.7   5 *1.7   6 *1.7
7 *3.6   8 *3.6   9 *3.6

I can do the following;

 x[,1] / sca[1]
 x[,2] / sca[2]

which is OK for a set of test data but not for my actual dataset.

At the moment, I'm thinking of something in the lines of a for loop 
function i.e.

for (i in ...){
statement...
}

Is there a syntax in the for loop that allows me to select the 
column/row in the file?

Thanks.

-- 
Muhammad Rahiz  |  Doctoral Student in Regional Climate Modeling

Climate Research Laboratory, School of Geography  the Environment  
Oxford University Centre for the Environment
South Parks Road, Oxford, OX1 3QY, United Kingdom 
Tel: +44 (0)1865-285194  Mobile: +44 (0)7854-625974
Email: muhammad.ra...@ouce.ox.ac.uk

__
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] Scaling error

2009-12-27 Thread baptiste auguie
Hi,

Try this,

x - matrix(1:9, ncol=3, byrow=T)

sca - c(2.5, 1.7, 3.6)

x %*% diag(1/sca)


HTH,

baptiste

2009/12/27 Muhammad Rahiz muhammad.ra...@ouce.ox.ac.uk:
 Hi useRs,

 I ran into an inconsistent output problem again. Here is the simplify
 illustration

 I've got a matrix as follows

 x
       V1    V2   V3
 [1,]   1      2     3
 [2,]   4      5     6
 [3,]   7      8     9

 Associated with the matrix is a scaling factor, sca, derived from, say the
 mean of the respective columns, V1-V3;

 sca
       V1    V2   V3
       2.5   1.7   3.6

 The idea is that the scaling factor gets applied to each element in the
 column matrix. So

 out - x / sca

 would give me

 V1            V2             V3
 1 *2.5       2 *1.7       3 *3.6
 4 *2.5       5 *1.7       6 *3.6
 7 *2.5       8 *1.7       9 *3.6

 But what actually happen is this,

 V1            V2             V3
 1 *2.5       2 *2.5       3 *2.5
 4 *1.7       5 *1.7       6 *1.7
 7 *3.6       8 *3.6       9 *3.6

 I can do the following;

  x[,1] / sca[1]
  x[,2] / sca[2]

 which is OK for a set of test data but not for my actual dataset.

 At the moment, I'm thinking of something in the lines of a for loop function
 i.e.

 for (i in ...){
 statement...
 }

 Is there a syntax in the for loop that allows me to select the column/row in
 the file?

 Thanks.

 --
 Muhammad Rahiz  |  Doctoral Student in Regional Climate Modeling

 Climate Research Laboratory, School of Geography  the Environment
 Oxford University Centre for the Environment
 South Parks Road, Oxford, OX1 3QY, United Kingdom Tel: +44 (0)1865-285194
  Mobile: +44 (0)7854-625974
 Email: muhammad.ra...@ouce.ox.ac.uk

 __
 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] Scaling error

2009-12-27 Thread jim holtman
sweep(x, 2, m, FUN='/')

On Sun, Dec 27, 2009 at 2:26 PM, Muhammad Rahiz 
muhammad.ra...@ouce.ox.ac.uk wrote:

 Hi useRs,

 I ran into an inconsistent output problem again. Here is the simplify
 illustration

 I've got a matrix as follows

  x
   V1V2   V3
 [1,]   1  2 3
 [2,]   4  5 6
 [3,]   7  8 9

 Associated with the matrix is a scaling factor, sca, derived from, say the
 mean of the respective columns, V1-V3;

  sca
   V1V2   V3
   2.5   1.7   3.6

 The idea is that the scaling factor gets applied to each element in the
 column matrix. So

  out - x / sca

 would give me

 V1V2 V3
 1 *2.5   2 *1.7   3 *3.6
 4 *2.5   5 *1.7   6 *3.6
 7 *2.5   8 *1.7   9 *3.6

 But what actually happen is this,

 V1V2 V3
 1 *2.5   2 *2.5   3 *2.5
 4 *1.7   5 *1.7   6 *1.7
 7 *3.6   8 *3.6   9 *3.6

 I can do the following;

  x[,1] / sca[1]
  x[,2] / sca[2]

 which is OK for a set of test data but not for my actual dataset.

 At the moment, I'm thinking of something in the lines of a for loop
 function i.e.

 for (i in ...){
 statement...
 }

 Is there a syntax in the for loop that allows me to select the column/row
 in the file?

 Thanks.

 --
 Muhammad Rahiz  |  Doctoral Student in Regional Climate Modeling

 Climate Research Laboratory, School of Geography  the Environment
 Oxford University Centre for the Environment
 South Parks Road, Oxford, OX1 3QY, United Kingdom Tel: +44 (0)1865-285194
  Mobile: +44 (0)7854-625974
 Email: muhammad.ra...@ouce.ox.ac.uk


 __
 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.htmlhttp://www.r-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.




-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

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