4-1 R語言函式 lapply
阿新 • • 發佈:2018-11-11
#lapply函式 #可以迴圈處理列表中的每一個元素 #lapply(引數):lapply(列表,函式/函式名,其他引數) #總是返回一個列表 #sapply:簡化結果 #結果列表元素長度均為1,返回向量 #結果列表元素長度相同且大於1,返回矩陣 > str(lapply) function (X, FUN, ...) > ?str > x <- list(a=1:10,b=c(11,21,31,41,51)) > x $`a` [1] 1 2 3 4 5 6 7 8 9 10 $b [1] 11 21 31 41 51 > lapply(x,mean) $`a` [1] 5.5 $b [1] 31 > x <- 1:4 > lapply(x,runif) [[1]] [1] 0.5754994 [[2]] [1] 0.3157821 0.7646459 [[3]] [1] 0.2289793 0.1715219 0.6473963 [[4]] [1] 0.634688171 0.326673566 0.007179751 0.687418686 > lapply(x,runif,min=0,max=100) [[1]] [1] 40.30112 [[2]] [1] 31.06171 64.75319 [[3]] [1] 45.190536 8.243788 98.328863 [[4]] [1] 22.22585 18.63806 57.53813 54.82982 > x <- list(a=matrix(1:6,2,3),b=matrix(4:7,2,2)) > lapply(x,function(m) m[1,]) $`a` [1] 1 3 5 $b [1] 4 6 > x <- list(a=1:10,b=c(11,21,31,41,51)) > lapply(x,mean) $`a` [1] 5.5 $b [1] 31 > sapply(x,mean) a b 5.5 31.0 > class(sapply(x, mean)) [1] "numeric"