[R] question

David L Carlson
Fri, 26 Jun 2015 20:01:42 -0000

Do not post to the list in html and always copy your message to the list so
others can follow the discussion.

That should not matter if the possible values in a row are only 0, 1, 2 as you
indicated. No matter how large the matrix is, the table should only have three
columns. If more values are possible you need to modify the colnames() statement
accordingly.

David

From: Lida Zeighami [mailto:lid.zigh at gmail.com]
Sent: Friday, June 26, 2015 2:36 PM
To: David L Carlson
Subject: Re: [R] question

David,

Thank you so much for your help.
just when I inter this line :??? > colnames(tbl) <-
paste0("fre", 0:2)
it?gets "Error in `colnames<-`(`*tmp*`, value = c("fre0",
"fre1", "fre2")) :
? length of 'dimnames' [2] not equal to array extent"

I think it because of my matrix is 5718*25761? the name of rows is in this
format: A00002......A00045.....
and my colnames are in this format:?? 1:866453????? ........?? 21:878632

so would you please let me know what is the reason of my error and how can I
correct it?

Thanks again,
Lida

On Fri, Jun 26, 2015 at 2:19 PM, David L Carlson <dcarlson at tamu.edu>
wrote:
Don't use html formatting in your emails and use dput() to provide data.
Assuming your matrix is called mat:

> mat <- structure(c(0L, 1L, 2L, 1L, 0L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L,
0L, 1L, 0L, 2L, 0L, 0L, 1L, 2L, 0L, 0L, 0L, 2L, 2L, 0L, 0L, 2L,
2L, 2L, 2L, 2L, 2L, 2L), .Dim = c(5L, 7L), .Dimnames = list(c("A",
"B", "C", "D", "E"), c("1",
"2", "3", "4", "5", "6",
"7")))
> mat
? 1 2 3 4 5 6 7
A 0 1 1 0 2 2 2
B 1 1 1 2 0 0 2
C 2 1 1 0 0 0 2
D 1 1 0 0 0 2 2
E 0 2 1 1 2 2 2
> tbl <- t(apply(mat, 1, table))
> colnames(tbl) <- paste0("fre", 0:2)
> tbl
? fre0 fre1 fre2
A? ? 2? ? 2? ? 3
B? ? 2? ? 3? ? 2
C? ? 3? ? 2? ? 2
D? ? 3? ? 2? ? 2
E? ? 1? ? 2? ? 4
> matbl <- cbind(mat, tbl)
> matbl
? 1 2 3 4 5 6 7 fre0 fre1 fre2
A 0 1 1 0 2 2 2? ? 2? ? 2? ? 3
B 1 1 1 2 0 0 2? ? 2? ? 3? ? 2
C 2 1 1 0 0 0 2? ? 3? ? 2? ? 2
D 1 1 0 0 0 2 2? ? 3? ? 2? ? 2
E 0 2 1 1 2 2 2? ? 1? ? 2? ? 4

-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Lida Zeighami
Sent: Friday, June 26, 2015 1:11 PM
To: r-help at r-project.org
Subject: [R] question

Hi there,

I have a matrix (n*m) which rows including 0,1,2
I want to know the frequency of each elements (0 , 1 , 2) separately for
each row!
for example :

? ? ?1? ? 2? ? 3? ?4? ? 5? ? 6? ? ?7

A? ?0? ? ?1? ?1? ? 0? ? ?2? ? 2? ? 2
B? ?1? ? ?1? ?1? ? 2? ? 0? ? 0? ? ?2
C? ?2? ? 1? ?1? ? 0? ? ?0? ? 0? ? 2
D? ?1? ? ?1? ?0? ? 0? ? 0? ? 2? ? ?2
E? ?0? ? ?2? ?1? ? 1? ? ?2? ? 2? ? 2

I want to this output:

? ? ?1? ? 2? ? 3? ?4? ? 5? ? 6? ? ?7? ? ? ? ?fr0
fr1? ? ? ? ? ? ? ?fr2

A? ?0? ? ?1? ?1? ? 0? ? ?2? ? 2? ? 2? ? ? ? ? ?2? ? ? ? ? ? ? ? ? 2
? ? ?3
B? ?1? ? ?1? ?1? ? 2? ? 0? ? 0? ? ?2? ? ? ? ? ?3
2? ? ? ? ? ? ?2
C? ?2? ? 1? ?1? ? 0? ? ?0? ? 0? ? ?2? ? ? ? ? 3? ? ? ? ? ? ? ? ? ?2
? ? ?2
D? ?1? ? ?1? ?0? ? 0? ? 0? ? 2? ? ?2? ? ? ? ? ?2? ? ? ? ? ? ? ? ? 3
? ? ? ? 2
E? ?0? ? ?2? ?1? ? 1? ? ?2? ? 2? ? 2? ? ? ? ? ?1
2? ? ? ? ? ? 4

Thanks
? ? ? ? [[alternative HTML version deleted]]

______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.