Re: [R] Merge matrices with different column names

2012-10-26 Thread Rui Barradas

Hello,

If you just want to write the matrices to a csv file instead of 
write.csv you can use write.table with options append=TRUE, sep=, and 
col.names=FALSE.


If you want to merge (rbind) them, you can use code similar to


pattern1 - (^var)[[:digit:]]+(.*$)
pattern2 - (^var)_n_(.*$)

colnames(Matrix1) - sub(pattern1, \\1_n_\\2, colnames(Matrix1))
colnames(Matrix2) - sub(pattern1, \\1_n_\\2, colnames(Matrix2))

Mat - rbind(Matrix1, Matrix2)
colnames(Mat) - sub(pattern2, \\1_\\2, colnames(Mat))
Mat

Hope this helps,

Rui Barradas
Em 26-10-2012 04:51, Charles Determan Jr escreveu:

A general question that I have been pursuing for some time but have set
aside.  When finishing some analysis, I can have multiple matrices that
have specific column names.  Ideally, I would like to combine these
separate matrices for a final output as a csv file.

A generic example:

Matrix 1
var1A  var1B  var1C
x  x   x
x  x   x

Matrix 2
var2A  var2B  var2C
x  x   x
x  x   x

I would like a final exportable matrix or dataframe or whichever format is
most workable.

Matrix 3
var1A  var1B  var1C
x  x   x
x  x   x

var2A  var2B  var2C
x  x   x
x  x   x

However, no matter which function I try reports an error that the column
names are not the same.

Any insights would be appreciated.
Thanks as always,
Charles

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


__
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] Merge matrices with different column names

2012-10-26 Thread Charles Determan Jr
Dennis,

This works well and is exactly what I wanted for these matrices.  Thank you
very much, however, when I would try to export the resulting list it just
is bound by columns.  Now this isn't so bad for 2 matrices but I hope to
apply this where there are many matrices and scrolling down a file such as
a 'csv' would be desired.  Any thoughts on exporting a list of matrices?

Thanks,
Charles

On Fri, Oct 26, 2012 at 12:00 AM, Dennis Murphy djmu...@gmail.com wrote:

 Hi:

 You can't represent the same columns with different names in a matrix (or
 data frame, for that matter). If you want to preserve variable names in the
 various matrices and collect them into one R object, I'd suggest creating a
 list, each component of which is a matrix.

 Toy example:

 m1 - matrix(1:9, nrow = 3, dimnames = list(NULL, paste0(var, 1:3)))
 m2 - matrix(rpois(9, 5), nrow = 3, dimnames = list(NULL, paste0(var,
 4:6)))
 L - list(m1, m2)
 names(L) - paste0(matrix, 1:2)
 L

 Dennis

 On Thu, Oct 25, 2012 at 8:51 PM, Charles Determan Jr deter...@umn.eduwrote:

 A general question that I have been pursuing for some time but have set
 aside.  When finishing some analysis, I can have multiple matrices that
 have specific column names.  Ideally, I would like to combine these
 separate matrices for a final output as a csv file.

 A generic example:

 Matrix 1
 var1A  var1B  var1C
 x  x   x
 x  x   x

 Matrix 2
 var2A  var2B  var2C
 x  x   x
 x  x   x

 I would like a final exportable matrix or dataframe or whichever format is
 most workable.

 Matrix 3
 var1A  var1B  var1C
 x  x   x
 x  x   x

 var2A  var2B  var2C
 x  x   x
 x  x   x

 However, no matter which function I try reports an error that the column
 names are not the same.

 Any insights would be appreciated.
 Thanks as always,
 Charles

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




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


Re: [R] Merge matrices with different column names

2012-10-26 Thread arun
Hi,

Not sure how you want the results to look like in .csv file.
If L is the list of matrices, you can also use ?sink()
sink(L.csv)
L
 sink()


#L.csv output: 
$matrix1 
 
var1 var2 var3 
 
[1 ]147 
[2 ]258 
[3 ]369 
 
 
$matrix2 
 
var4 var5 var6 
 
[1 ]473 
[2 ]345 
[3 ]232 

If you want to do some analysis on the .csv file, you can try this:
new3-readLines(L.csv)
new4-new3[!grepl(matrix,new3)]
new5-gsub(\\[.*\\],,new4)
do.call(rbind,lapply(lapply(strsplit(new5, ),function(x) 
paste(unlist(strsplit(x, +)),collapse= )),function(x) unlist(strsplit(x,+ 

# [,1]   [,2]   [,3]  
#[1,] var1 var2 var3
#[2,] 1    4    7   
#[3,] 2    5    8   
#[4,] 3    6    9   
#[5,] var4 var5 var6
#[6,] 4    7    3   
#[7,] 3    4    5   
#[8,] 2    3    2   


#Another way to save the file: 


 out_file - file(L1.csv, open=a)  
for (i in seq_along(L)){
    write.table(names(L)[i], file=out_file, sep=,, dec=.,
quote=FALSE, col.names=FALSE, row.names=FALSE) 
    write.table(L[[i]], file=out_file, sep=,, dec=., quote=FALSE,
col.names=NA, row.names=TRUE)  #writes the data.frames
}
close(out_file)  #
new1-readLines(L1.csv)
 new2-new1[!grepl(matrix,new1)]
 dat2-do.call(rbind,lapply(strsplit(new2,,),`[`,2:4))

dat2
#    [,1]   [,2]   [,3]  
#[1,] var1 var2 var3
#[2,] 1    4    7   
#[3,] 2    5    8   
#[4,] 3    6    9   
#[5,] var4 var5 var6
#[6,] 4    7    3   
#[7,] 3    4    5   
#[8,] 2    3    2   


A.K.






- Original Message -
From: Charles Determan Jr deter...@umn.edu
To: Dennis Murphy djmu...@gmail.com
Cc: r-help@r-project.org
Sent: Friday, October 26, 2012 10:20 AM
Subject: Re: [R] Merge matrices with different column names

Dennis,

This works well and is exactly what I wanted for these matrices.  Thank you
very much, however, when I would try to export the resulting list it just
is bound by columns.  Now this isn't so bad for 2 matrices but I hope to
apply this where there are many matrices and scrolling down a file such as
a 'csv' would be desired.  Any thoughts on exporting a list of matrices?

Thanks,
Charles

On Fri, Oct 26, 2012 at 12:00 AM, Dennis Murphy djmu...@gmail.com wrote:

 Hi:

 You can't represent the same columns with different names in a matrix (or
 data frame, for that matter). If you want to preserve variable names in the
 various matrices and collect them into one R object, I'd suggest creating a
 list, each component of which is a matrix.

 Toy example:

 m1 - matrix(1:9, nrow = 3, dimnames = list(NULL, paste0(var, 1:3)))
 m2 - matrix(rpois(9, 5), nrow = 3, dimnames = list(NULL, paste0(var,
 4:6)))
 L - list(m1, m2)
 names(L) - paste0(matrix, 1:2)
 L

 Dennis

 On Thu, Oct 25, 2012 at 8:51 PM, Charles Determan Jr deter...@umn.eduwrote:

 A general question that I have been pursuing for some time but have set
 aside.  When finishing some analysis, I can have multiple matrices that
 have specific column names.  Ideally, I would like to combine these
 separate matrices for a final output as a csv file.

 A generic example:

 Matrix 1
 var1A          var1B          var1C
 x                      x               x
 x                      x               x

 Matrix 2
 var2A          var2B          var2C
 x                      x               x
 x                      x               x

 I would like a final exportable matrix or dataframe or whichever format is
 most workable.

 Matrix 3
 var1A          var1B          var1C
 x                      x               x
 x                      x               x

 var2A          var2B          var2C
 x                      x               x
 x                      x               x

 However, no matter which function I try reports an error that the column
 names are not the same.

 Any insights would be appreciated.
 Thanks as always,
 Charles

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




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


__
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] Merge matrices with different column names

2012-10-25 Thread Jeff Newmiller
If they have the same number of rows, you can use cbind() to create one object 
to write out.
---
Jeff NewmillerThe .   .  Go Live...
DCN:jdnew...@dcn.davis.ca.usBasics: ##.#.   ##.#.  Live Go...
  Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/BatteriesO.O#.   #.O#.  with
/Software/Embedded Controllers)   .OO#.   .OO#.  rocks...1k
--- 
Sent from my phone. Please excuse my brevity.

Charles Determan Jr deter...@umn.edu wrote:

A general question that I have been pursuing for some time but have set
aside.  When finishing some analysis, I can have multiple matrices that
have specific column names.  Ideally, I would like to combine these
separate matrices for a final output as a csv file.

A generic example:

Matrix 1
var1A  var1B  var1C
x  x   x
x  x   x

Matrix 2
var2A  var2B  var2C
x  x   x
x  x   x

I would like a final exportable matrix or dataframe or whichever format
is
most workable.

Matrix 3
var1A  var1B  var1C
x  x   x
x  x   x

var2A  var2B  var2C
x  x   x
x  x   x

However, no matter which function I try reports an error that the
column
names are not the same.

Any insights would be appreciated.
Thanks as always,
Charles

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

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