Of Jeff Newmiller
Sent: Wednesday, May 22, 2013 5:27 PM
To: Ye Lin; R help
Subject: Re: [R] group data based on row value
dat$group - cut( dat$Var, breaks=c(-Inf,0.1, 0.6,Inf))
levels(dat$group) - LETTERS[1:3]
---
Jeff Newmiller
hey, I want to divide my data into three groups based on the value in one
column with group name.
dat:
Var
0
0.2
0.5
1
4
6
I tried:
dat - cbind(dat, group=cut(dat$Var, breaks=c(0.1,0.6)))
But it doesnt work, I want to group those 0.1 as group A, 0.1-0.6 as group
B, 0.6 as group C
Thanks for
Hi,
Try:
dat- read.table(text=
Var
0
0.2
0.5
1
4
6
,sep=,header=TRUE)
res1-within(dat,group-factor(findInterval(Var,c(-Inf,0.1,0.6),rightmost.closed=TRUE),labels=LETTERS[1:3]))
res1
# Var group
#1 0.0 A
#2 0.2 B
#3 0.5 B
#4 1.0 C
#5 4.0 C
#6 6.0 C
#or
dat$group - cut( dat$Var, breaks=c(-Inf,0.1, 0.6,Inf))
levels(dat$group) - LETTERS[1:3]
---
Jeff NewmillerThe . . Go Live...
DCN:jdnew...@dcn.davis.ca.usBasics: ##.#.
4 matches
Mail list logo