Praveen Chougale
Praveen Chougale

Reputation: 383

How to write multiple condition in ifelse statement in R?

I have three columns i.e Team1,Team2 and Result.The below is the sample of the data. I need a column Winning/lossing column such that If result exists in Team 1 or Team 2 it should be winning else it should be lossing .

Team1        Team2             Result      Winning/lossing team
Pakistan       NA             Australia        lossing
Australia      Australia      Australia        winning
Australia      NA             Australia         winning

The below is the code whuch I tried ,but its not working.Please help.
Playerwnorloss=ifelse(Dataset$Team1==Dataset$winner | is.na(Dataset$Team2==Dataset$winner),"WinningTeam","LossingTeam")

Upvotes: 0

Views: 44

Answers (2)

arg0naut91
arg0naut91

Reputation: 14764

What about:

Dataset$WinningLosing <- ifelse(Dataset$Result == Dataset$Team1 & !is.na(Dataset$Team1) | Dataset$Result == Dataset$Team2 & !is.na(Dataset$Team2), "Winning","Losing")

Output:

       Team1     Team2    Result WinningLosing
1:  Pakistan      <NA> Australia        Losing
2: Australia Australia Australia       Winning
3: Australia      <NA> Australia       Winning

Upvotes: 1

Pawel Stradowski
Pawel Stradowski

Reputation: 827

Try this (assume your data is in df):

library(tidyverse)
df %>% mutate(status = ifelse(Result == Team1 | Result == Team2, 'winning', 'loosing'))

Regards Paweł

Upvotes: 0

Related Questions