[R] Dividing a vector into ntiles
Wiener, Matthew
matthew_wiener at merck.com
Fri Jul 15 14:59:19 CEST 2005
You could try using "cut":
> cut(1:9, breaks = 3)
[1] (0.992,3.66] (0.992,3.66] (0.992,3.66] (3.66,6.34] (3.66,6.34]
[6] (3.66,6.34] (6.34,9.01] (6.34,9.01] (6.34,9.01]
Levels: (0.992,3.66] (3.66,6.34] (6.34,9.01]
>
Quantile is another possible solution to get break points:
> quantile(1:9, p = c(0, .33, .66, 1))
0% 33% 66% 100%
1.00 3.64 6.28 9.00
>
You could use rounding if you want the integers, or use the given cutpoints.
Hope this helps,
Matt Wiener
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of John Sorkin
Sent: Friday, July 15, 2005 8:48 AM
To: r-help at stat.math.ethz.ch
Subject: [R] Dividing a vector into ntiles
R 2.1.1
Win 2k
Would someone suggest a method (or methods) that can be used to
determine ntile cutpoints of a vector, i.e. to determine values that can
be used to divide a vector into thirds such as 0-33 centile, 34-66
centile, 67-100 centile. If for example I had a vector:
1,2,3,4,5,6,7,8,9
and wanted to divide the vector into thirds
I would have cut-points of 3, and 6.
Thanks,
John
John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
Baltimore VA Medical Center GRECC and
University of Maryland School of Medicine Claude Pepper OAIC
University of Maryland School of Medicine
Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
410-605-7119
-- NOTE NEW EMAIL ADDRESS:
jsorkin at grecc.umaryland.edu
[[alternative HTML version deleted]]
______________________________________________
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
More information about the R-help
mailing list