簡體   English   中英

如何在R中使用或在ifelse語句中?

[英]How to use or in ifelse statement in R?

我正在使用下面的代碼不起作用.Y有2個級別(或功能不起作用)。解決方案是什么?

data$Team1=factor(data$Team1)

y=levels(data$Team1)

data$win_loss=ifelse(data$winner==y[2]|y[1], "winner",
              ifelse(data$winner==is.na(data$winner),"noresult","looser"))

樣本數據Team1獲勝者贏/輸x1 x1 x1 x1 x1 x1 x2 x3 x3 x1 x1 x1 x1 x1 x4 x4 x1 x1 x1 x1 x1不適用

我想要基於Team1和獲勝者的贏/輸欄。

您可以分兩步進行操作以使其保持簡單:

# replace NA
data$Team1[is.na(data$Team1)] <- 'noresult'

# replace other values
data$Team1 <- ifelse(data$Team1 %in% levels(data$Team1), 'winner', 'loser')

選項1

在OR操作的另一端使用data$winner

data$Team1=factor(data$Team1)

y=levels(data$Team1)

data$win_loss=ifelse(data$winner==y[2] | data$winner==y[1], "winner",
              ifelse(is.na(data$winner),"noresult","loser"))

選項2

調用向量y[1:2]並使用%in%運算符。

data$Team1=factor(data$Team1)

y=levels(data$Team1)

data$win_loss=ifelse(data$winner %in% y[1:2], "winner",
              ifelse(is.na(data$winner),"noresult","loser"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM