考慮這個名單:如何根據函數中的名稱選擇列表元素?
l <- list(a=1:10,b=1:10,c=rep(0,10),d=11:20)
然後考慮這個示例代碼(代表真正的更大的代碼的)。 它只是根據名稱選擇列表中的正確元素。
參數:
對象:與列表在最大四個元素(即,有時少於四個)。元素總是被稱爲a,b,c和d,但並不總是以相同的順序出現在列表中。
X:元件的名稱來選擇(即,A,B,c或d)
slct <- function(object,x) {
if (x=="a") {
object$a
} else if (x=="b") {
object$b
} else if (x=="c") {
object$c
} else if (x=="d") {
object$d
}
}
slct(l,"d")
當你有不是一個單純的4個元素,但是數百這種做法變得根本不切實際。 此外,我不能根據數字(例如,object [[1]])進行選擇,因爲每次元素不會以相同的順序來到 。那麼我怎樣才能縮短上面的代碼呢?
我在想在SAS的宏觀方法,當然,這並不在R.
slct <- function(object,x) {
object$x
}
object$a
slct(object=l,x="a")
什麼我必須更換對象$ x其中,使其工作工作,但用更少的代碼比在上面的代碼?
見'運氣(312)'。 – 2013-05-10 19:17:37