On Oct 16, 2008, at 1:27 AM, Lijiang Guo wrote:

Dear R-helpers,

I have a data frame with 3 variables, each record is a unique combination of the three variables. I would like to count the number of unique values of v3
in each v1, and save it as a new variable v4 in the same data frame.
e.g.
df1
    [v1] [v2] [v3]
[1,] "a"  "C"  "1"
[2,] "b"  "C"  "2"
[3,] "c"  "B"  "3"
[4,] "a"  "B"  "3"
[5,] "b"  "A"  "2"
[6,] "c"  "A"  "1"

In this case, the 4th column would become (2, 1, 2, 2, 1, 2).
> txt <- '   v1 v2 v3
+  "a"  "C"  "1"
+  "b"  "C"  "2"
+  "c"  "B"  "3"
+  "a"  "B"  "3"
+  "b"  "A"  "2"
+  "c"  "A"  "1"'

df1 <- read.table(textConnection(txt), header=TRUE)

grps <- tapply(df1$v3, df1$v1,FUN=table)

# > sapply(grps,length)
# a b c
# 2 1 2

df1$v4 <- sapply(grps,length)[df1$v1]

df1

  v1 v2 v3 v4
1  a  C  1  2
2  b  C  2  1
3  c  B  3  2
4  a  B  3  2
5  b  A  2  1
6  c  A  1  2

--
David Winsemius, MD
Heritage Labs


Could someone tell me how to do this?

regards,
Lijiang


--

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

Reply via email to