我對R的標準ifelse語句以及如何創建嵌套的ifelse語句非常熟悉。然而,我想創建一個「更好」的版本,這樣我就不必複製/粘貼ifelse很多次了。R - 如何創建重複的自定義Ifelse函數
把這個嵌套ifelse語句,例如:
df <- data.frame(b = 1:5)
df$a <- ifelse(df$b == 1,1,
ifelse(df$b == 2,2,
ifelse(df$b == 3,3,4)))
相反,我會做的是創建一個函數一樣,我可以這樣調用:
df$a <- myFunction(df$b == 1,1,
df$b == 2,2,
df$b == 3,3,4)
我想要的功能能夠獲取我輸入的參數數量,從而知道要包含多少個ifelse語句,然後將這些參數插入正確的位置,直到達到我想要的數量。
仍然有一些重複,但是當創建更長的嵌套ifelse語句時,不必重複那段代碼就可以了,然後嘗試跟蹤paren的結束。
在某些情況下,'之開關可能是你在找什麼。 – lmo
或者手工創建一個符號表(vs'switch')並將其用於匹配 –
也許'ifelse(df $ b> 4,4,df $ b)'?或者看'cut()'函數。 – zx8754