मुझे उम्मीद है कि यह उदाहरण मदद करता है। आप घुंघराले ब्रेसिज़ का उपयोग यह सुनिश्चित करने के लिए करते हैं कि आपको स्विचर चेंजर लड़के में संलग्न सब कुछ मिल गया है (खेद है कि तकनीकी शब्द नहीं जानते हैं लेकिन यह शब्द = जो उस परिवर्तन को दर्शाता है जो परिवर्तन होता है)। मैं if () {} else {}बयानों के अधिक नियंत्रित गुच्छा के रूप में स्विच करने के बारे में सोचता हूं ।
हर बार स्विच फंक्शन समान होता है लेकिन हम जिस कमांड में बदलाव करते हैं।
do.this <- "T1"
switch(do.this,
T1={X <- t(mtcars)
colSums(mtcars)%*%X
},
T2={X <- colMeans(mtcars)
outer(X, X)
},
stop("Enter something that switches me!")
)
do.this <- "T2"
switch(do.this,
T1={X <- t(mtcars)
colSums(mtcars)%*%X
},
T2={X <- colMeans(mtcars)
outer(X, X)
},
stop("Enter something that switches me!")
)
do.this <- "T3"
switch(do.this,
T1={X <- t(mtcars)
colSums(mtcars)%*%X
},
T2={X <- colMeans(mtcars)
outer(X, X)
},
stop("Enter something that switches me!")
)
यहाँ यह एक फंक्शन के अंदर है:
FUN <- function(df, do.this){
switch(do.this,
T1={X <- t(df)
P <- colSums(df)%*%X
},
T2={X <- colMeans(df)
P <- outer(X, X)
},
stop("Enter something that switches me!")
)
return(P)
}
FUN(mtcars, "T1")
FUN(mtcars, "T2")
FUN(mtcars, "T3")