I have fixed it like that:

keep<-matrix(data=rnorm(900,80,20),nrow=30,ncol=30)
ShrinkTo<-500
idx<-cut(1:nrow(keep), ShrinkTo)
keep.ag<-aggregate(keep, list(idx), mean)
PlotMe<-data.matrix(keep.ag[2:ShrinkTo])

The only problem is that takes ages to finish..... Would it be possible to 
convert it to something like lapply?

Regards
Alex




________________________________
 From: PIKAL Petr <petr.pi...@precheza.cz>

Sent: Wednesday, March 27, 2013 4:02 PM
Subject: RE: [R] Averaging Out many rows from a column AND funtion to string



Hi
 
> str(as.matrix(keep.ag[,-1]) )  # does look like numeric
num [1:10, 1:30] 75.1 93 79 81.7 76.3 ...
- attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:30] "V1" "V2" "V3" "V4" ...
 
Please read and follow what was recommended.
 
quote
 
use as.matrix(data.frame) on numeric part
                                        
                  ^^^^^^^^^^^
 
aggregate produces data frame with its first column being your idx variable, 
which is factor. Trying to convert it whole to matrix results in character 
matrix. You need to exclude first column from conversion
 
And please can you explain how mean(rnorm(whatever)) shall be integer?
 
Regards
Petr
 

Sent: Wednesday, March 27, 2013 3:01 PM
To: PIKAL Petr; R help
Subject: Re: [R] Averaging Out many rows from a column AND funtion to string
 
see inline
 
 

________________________________

From:PIKAL Petr <petr.pi...@precheza.cz>

Sent: Wednesday, March 27, 2013 1:50 PM
Subject: RE: [R] Averaging Out many rows from a column AND funtion to string


Hi
 

Sent: Wednesday, March 27, 2013 11:46 AM
To: PIKAL Petr; R help
Subject: Re: [R] Averaging Out many rows from a column AND funtion to string
 
see inline
 

________________________________

From:PIKAL Petr <petr.pi...@precheza.cz>

Sent: Wednesday, March 27, 2013 11:24 AM
Subject: RE: [R] Averaging Out many rows from a column AND funtion to string

Hi

> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-bounces@r-
> project.org] On Behalf Of Alaios
> Sent: Wednesday, March 27, 2013 9:13 AM
> To: R help
> Subject: [R] Averaging Out many rows from a column AND funtion to
> string
> 
> Dear all,
> 1) I have a very large matrix of
> str(keep)
>  num [1:153899, 1:3415] -98.6 -95.8 -96.4 -95.8 -98 ...
> that  I would like to reduce its size to something like
> 
> str(keep)
>  num [1:1000, 1:3415] -98.6 -95.8 -96.4 -95.8 -98 ... or anything
> similar in size as this is a matrix that needs plotting (so is ok if it
> is 1000 row, 995, or 1123)
> 
> I think what I need here is a way of selecting multiple rows and
> averaging per column (notice that the column number should stay the
> same)

Make an index variable and aggregate values according it

Something like
idx<-cut(1:153899, 153)
keep.ag<-aggregate(keep, list(idx), mean)

1) Thanks that returned a data frame.. How I can have a matrix at the end?
use as.matrix(data.frame) on numeric part
 
a bit of my code that you can re run. I convert a 30,30 matrix to a 10,30.  
but it looks at the end that I do not get the Data part of the data.fram 
correctly: 
Data<-matrix(data=rnorm(900,80,20),nrow=30,ncol=30)
idx<-cut(1:30, 10)
keep.ag<-aggregate(Data, list(idx), mean)
str(as.matrix(keep.ag) ) # it does not look like integers
 
 
 
 
 
 
 
2) I want to have a string that can be used also for calling a function with 
the same name. Think of using "mean" to call mean. I need to have R interpret 
the string in different ways.
To call „mean“ of what? I am sure I do not understand what is your 
intention.
LogFunction<- function(){}
FunctionIndex<- rbind (c(1,"LogFunction"),
               c(2,"TakeFunction"))
print(sprintf('Using the function %s',FunctionIndex[1,1]))
This does not contain much clue.
Regards
Petr
PS. Do not use HTML mail messages. 
Regards
Alex

> 
> b. I would like to be able to convert strings that are function names
> to real function calls. For example I have something like
> 
> LogFunction<- function(){}
> FunctionIndex<- rbind (c(1,"LogFunction"),
>                c(2,"TakeFunction")
>               )
> print(sprintf('Using the function %s',FunctionIndex[1,1])) # call the
> FunctionIndex[1,1] somehow

I am not sure if I understand correctly. 

Is this what you want?
myf <-function(fun="mean", arg) eval(call(fun, arg))

Regards
Petr

> 
> 
> 
> I would like to thank you in advance for your help
> 
> Regards
> Alex
> 
>     [[alternative HTML version deleted]]
        [[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.

Reply via email to