Given something like ... x <- c(3,2,4,3,5,4,3,2,4,5) y <- c("A","B","B","A","A","A","A","B","A","B") xy <- data.frame(x,y) xy$w <- ifelse(xy$y=="A",xy$w[,x]*10,xy$w[,x]*15 ) want to see x y w 1 3 A 30 2 2 B 30 3 4 B 60 4 3 A 30 5 5 A 50 6 4 A 40 7 3 A 30 8 2 B 30 9 4 A 40 10 5 B 75 but I get NA's Jeff
On 07/26/2018 08:58 PM, JEFFERY REICHMAN wrote:> Given something like ... > > x <- c(3,2,4,3,5,4,3,2,4,5) > y <- c("A","B","B","A","A","A","A","B","A","B") > xy <- data.frame(x,y) > xy$w <- ifelse(xy$y=="A",xy$w[,x]*10,xy$w[,x]*15 )You should learn the basics about how to extract or replace part of an object, in particular data.frames. You can start by reading the help page of ?"Extract". xy$w <- ifelse(xy$y=="A",xy$x*10,xy$x*15 ) HTH, Denes> > want to see > > x y w > 1 3 A 30 > 2 2 B 30 > 3 4 B 60 > 4 3 A 30 > 5 5 A 50 > 6 4 A 40 > 7 3 A 30 > 8 2 B 30 > 9 4 A 40 > 10 5 B 75 > > but I get NA's > > Jeff > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. >
Inline.> > > On 07/26/2018 08:58 PM, JEFFERY REICHMAN wrote: > >> Given something like ... >> >> x <- c(3,2,4,3,5,4,3,2,4,5) >> y <- c("A","B","B","A","A","A","A","B","A","B") >> xy <- data.frame(x,y) >> xy$w <- ifelse(xy$y=="A",xy$w[,x]*10,xy$w[,x]*15 ) >> > > You should learn the basics about how to extract or replace part of an > object, in particular data.frames. You can start by reading the help page > of ?"Extract". >Agreed!> > xy$w <- ifelse(xy$y=="A",xy$x*10,xy$x*15 ) >## or perhaps more simply: xy$w <- with(xy, ifelse(y=="A", x*10, x*15)) See ?with Cheers, Bert> > HTH, > Denes > > > >> want to see >> >> x y w >> 1 3 A 30 >> 2 2 B 30 >> 3 4 B 60 >> 4 3 A 30 >> 5 5 A 50 >> 6 4 A 40 >> 7 3 A 30 >> 8 2 B 30 >> 9 4 A 40 >> 10 5 B 75 >> >> but I get NA's >> >> Jeff >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posti > ng-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Hi Or maybe without ifelse xy$w <- with(xy, x * ((y != "A") + 2) * 5) Cheers Petr> -----Original Message----- > From: R-help <r-help-bounces at r-project.org> On Behalf Of D?nes T?th > Sent: Thursday, July 26, 2018 10:10 PM > To: JEFFERY REICHMAN <reichmanj at sbcglobal.net>; r-help at r-project.org > Subject: Re: [R] Creatng new variable based upon conditions > > > > On 07/26/2018 08:58 PM, JEFFERY REICHMAN wrote: > > Given something like ... > > > > x <- c(3,2,4,3,5,4,3,2,4,5) > > y <- c("A","B","B","A","A","A","A","B","A","B") > > xy <- data.frame(x,y) > > xy$w <- ifelse(xy$y=="A",xy$w[,x]*10,xy$w[,x]*15 ) > > You should learn the basics about how to extract or replace part of an object, in > particular data.frames. You can start by reading the help page of ?"Extract". > > xy$w <- ifelse(xy$y=="A",xy$x*10,xy$x*15 ) > > HTH, > Denes > > > > > > want to see > > > > x y w > > 1 3 A 30 > > 2 2 B 30 > > 3 4 B 60 > > 4 3 A 30 > > 5 5 A 50 > > 6 4 A 40 > > 7 3 A 30 > > 8 2 B 30 > > 9 4 A 40 > > 10 5 B 75 > > > > but I get NA's > > > > Jeff > > > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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 r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.Osobn? ?daje: Informace o zpracov?n? a ochran? osobn?ch ?daj? obchodn?ch partner? PRECHEZA a.s. jsou zve?ejn?ny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner?s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/ D?v?rnost: Tento e-mail a jak?koliv k n?mu p?ipojen? dokumenty jsou d?v?rn? a podl?haj? tomuto pr?vn? z?vazn?mu prohl??en? o vylou?en? odpov?dnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/