[R] Obtaining summary of frequencies of value occurrences for a variable in a multivariate dataset.
jim holtman
jholtman at gmail.com
Wed Jul 25 13:46:32 CEST 2007
Is this what you want:
> x <- read.table(textConnection(" PR10 PR11 PR12 PR13 PR14 PR15 PR16
+ 1 V T I K V G D
+ 2 V S I K V G G
+ 3 V T I R V G G
+ 4 V S I K I G G
+ 5 V S I K V G G
+ 6 V S I R V G G
+ 7 V T I K I G G
+ 8 V S I K V E G
+ 9 V S I K V G G
+ 10 V S I K V G G"), header=TRUE)
> x.t <- apply(x, 2, function(.col){
+ .tab <- table(.col)
+ paste('[', paste(names(.tab), .tab, sep=":", collapse=','), ']', sep='')
+ })
>
>
> x.t
PR10 PR11 PR12 PR13 PR14 PR15
"[V:10]" "[S:7,T:3]" "[I:10]" "[K:8,R:2]" "[I:2,V:8]" "[E:1,G:9]"
PR16
"[D:1,G:9]"
>
On 7/25/07, Allan Kamau <kamauallan at yahoo.com> wrote:
> A subset of the data looks as follows
>
> > df[1:10,14:20]
> PR10 PR11 PR12 PR13 PR14 PR15 PR16
> 1 V T I K V G D
> 2 V S I K V G G
> 3 V T I R V G G
> 4 V S I K I G G
> 5 V S I K V G G
> 6 V S I R V G G
> 7 V T I K I G G
> 8 V S I K V E G
> 9 V S I K V G G
> 10 V S I K V G G
>
> The result I would like is as follows
>
> PR10 PR11 PR12 ...
> [V:10] [S:7,T:3] [I:10]
>
> The result can be in a matrix or a vector and each variablename, value and frequency should be accessible so as to be used for comparisons with another dataset later.
> The frequency can be a count or a percentage.
>
>
> Allan.
>
>
> ----- Original Message ----
> From: Adaikalavan Ramasamy <ramasamy at cancer.org.uk>
> To: Allan Kamau <kamauallan at yahoo.com>
> Cc: r-help at stat.math.ethz.ch
> Sent: Tuesday, July 24, 2007 10:21:51 PM
> Subject: Re: [R] Obtaining summary of frequencies of value occurrences for a variable in a multivariate dataset.
>
> The name of the table should give you the "value". And if you have a
> matrix, you just need to convert it into a vector first.
>
> > m <- matrix( LETTERS[ c(1:3, 3:5, 2:4) ], nc=3 )
> > m
> [,1] [,2] [,3]
> [1,] "A" "C" "B"
> [2,] "B" "D" "C"
> [3,] "C" "E" "D"
> > tb <- table( as.vector(m) )
> > tb
>
> A B C D E
> 1 2 3 2 1
> > paste( names(tb), ":", tb, sep="" )
> [1] "A:1" "B:2" "C:3" "D:2" "E:1"
>
> If this is not what you want, then please give a simple example.
>
> Regards, Adai
>
>
>
> Allan Kamau wrote:
> > Hi all,
> > If the question below as been answered before I
> > apologize for the posting.
> > I would like to get the frequencies of occurrence of
> > all values in a given variable in a multivariate
> > dataset. In short for each variable (or field) a
> > summary of values contained with in a value:frequency
> > pair, there can be many such pairs for a given
> > variable. I would like to do the same for several such
> > variables.
> > I have used table() but am unable to extract the
> > individual value and frequency values.
> > Please advise.
> >
> > Allan.
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch 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 at stat.math.ethz.ch 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.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list