[R] how to count unique observations by variables
Chuck Cleland
ccleland at optonline.net
Thu Oct 16 10:36:24 CEST 2008
On 10/16/2008 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).
>
> Could someone tell me how to do this?
df1 <- data.frame(V1=rep(c('a','b','c'),2),
V2=rep(c('C','B','A'),each=2),
V3=c(1,2,3,3,2,1))
df1$V4 <- with(df1, ave(V3, V1, FUN = function(x){length(unique(x))}))
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
?ave
?unique
?length
> regards,
> Lijiang
>
> --
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
--
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list