On 10/22/19 10:19 PM, Yeasmin Alea wrote:
Thank you. Can you please have a look the below data sets, script and
question?

*Dataset-1: Pen*

*YEAR   DAY      X     Y   Sig phase  *

*  <dbl> <dbl>  <dbl> <dbl> <dbl> <chr>  *

*1  1981     9 -0.213 1.08   1.10 Phase-7*

*2  1981    10  0.065 1.05   1.05 Phase-6*



*Dataset-2: Book*

*YEAR         Time *

*1  1981     1981-12-03 06:00:00 *

*2  1981    1981-12-04 00:00:00*



I want the output table as

*YEAR         Time                                   phase*

*1  1981     1981-12-03 06:00:00     Phase-7*

*2  1981    1981-12-04 00:00:00     Phase-4*


You are posting in HTML. R help is a plain text mailing list. It is easy to send plain text using gmail. You should start over by configuring your mail client for this purpose and send the output of dput(head(Pen)) and dput(head(Book)) rather than the versions above which do not lend themselves to simple input strategies.


--

David.




*How can I combine and match the Dataset-1 DAY (365 days*35 years) +YEAR
with Dataset-2 YEAR+Time? Dataset 1 has 5,551 rows and dataset 2 has 22,210*

d$Pen<-Pen[cbind(match(Book$Time,Pen$DAY)]
Kind regards
Alea Yeasmin


On Wed, Oct 23, 2019 at 2:20 AM jim holtman <jholt...@gmail.com> wrote:

Here is one way of doing it; I think the output you show is wrong:

library(tidyverse)
input <- read_delim(" YEAR   DAY      X     Y   Sig
   1981     9 -0.213 1.08   1.10
   1981    10  0.065 1.05   1.05", delim = ' ', trim_ws = TRUE)

input <- mutate(input,
   phase = case_when(X < 0 & Y < 0 & Y < X ~ 'phase=1',
                     X < 0 & Y > 0 & Y < X ~ 'phase=2',
                     X < 0 & Y > 0 & Y < X ~ 'phase=7',
                     X < 0 & Y > 0 & Y > X ~ 'phase=8',
                     X > 0 & Y < 0 & Y < X ~ 'phase=3',
                     X > 0 & Y < 0 & Y > X ~ 'phase=4',
                     X > 0 & Y > 0 & Y > X ~ 'phase=6',
                     X > 0 & Y > 0 & Y < X ~ 'phase=5',
                     TRUE ~ 'unknown'
   )
)

input
# A tibble: 2 x 6
    YEAR   DAY      X     Y   Sig phase
   <dbl> <dbl>  <dbl> <dbl> <dbl> <chr>
1  1981     9 -0.213  1.08  1.1  phase=8
2  1981    10  0.065  1.05  1.05 phase=6

Jim Holtman
*Data Munger Guru*


*What is the problem that you are trying to solve?Tell me what you want to
do, not how you want to do it.*


On Tue, Oct 22, 2019 at 9:43 AM Yeasmin Alea <yeasmin.a...@gmail.com>
wrote:

Hello Team
I would like to add a new column (for example-Phase) from the below data
set based on the conditions
    YEAR   DAY      X     Y   Sig
  1  1981     9 -0.213 1.08   1.10
  2  1981    10  0.065 1.05   1.05
*Conditions*

D$Phase=sapply(D,function(a,b) {
      a <-D$X
      b<-D$Y
      if (a<0 && b<0 && b<a)
     {phase=1} else if (a<0 && b<0 && b>a)
     {phase=2} else if (a<0 && b>0 && b<a)
     {phase=7} else if (a<0 && b>0 && b>a)
     {phase=8} else if (a>0 && b<0 && b<a)
     {phase=3} else if (a>0 && b<0 && b>a)
     {phase=4} else if (a>0 && b>0 && b>a)
     {phase=6} else (a>0 && b>0 && b<a)
     {phase=5}
})

Can anyone help to fix the script to get a Phase column based on the
conditions. The table will be like the below
    YEAR   DAY      X     Y   Sig      Phase
  1  1981     9 -0.213 1.08   1.10   phase=7
  2  1981    10  0.065 1.05   1.05   phase=6

Many thanks
Alea

         [[alternative HTML version deleted]]

______________________________________________
R-help@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.

        [[alternative HTML version deleted]]

______________________________________________
R-help@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@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.

Reply via email to