यदि अन्यथा निर्माण और फ़ंक्शन ifelse() अलग-अलग व्यवहार क्यों करते हैं?if-else बनाम ifelse सूचियों के साथ
mylist <- list(list(a=1, b=2), list(x=10, y=20))
l1 <- ifelse(sum(sapply(mylist, class) != "list")==0, mylist, list(mylist))
l2 <-
if(sum(sapply(mylist, class) != "list") == 0){ # T: all list elements are lists
mylist
} else {
list(mylist)
}
all.equal(l1,l2)
# [1] "Length mismatch: comparison on first 1 components"
+1। मुझे आश्चर्य है कि इस डिजाइन के निर्णय के पीछे क्या है ... – Ryogi
@Dason, एक असंबंधित नोट पर, यदि कहता है कि मेरे पास यह 'df.stats $ Mean.Result2 <- ifelse ((df.stats $ t.test.equal <= 0.05 और df.stats $ f.test> 0.05 और df.stats $ Mean.डिफ <0), "धीमी", 0) ' क्या इसका उपयोग करने के लिए इसे लिखने का एक वैकल्पिक तरीका है - अन्यथा निर्माण? अगर इज़ेलसे का प्रदर्शन करता है तो निर्माण के अन्य भाग –