假设我们有两个框架,每个框架有5列,它们存储在R中的列表中,并且我们想从每个数据框架中提取最后一行,那么我们可以使用lapply函数。例如,如果我们有一个名为LIST的列表,其中包含上述数据帧,则可以使用命令lapply(LIST,tail,1)从每个数据帧中提取最后一行。
考虑以下数据帧列表-
> x1<-rpois(20,5) > x2<-rpois(20,5) > df1<-data.frame(x1,x2) > y1<-rnorm(20) > y2<-rnorm(20) > df2<-data.frame(y1,y2) > z1<-runif(20,2,5) > z2<-runif(20,2,5) > df3<-data.frame(z1,z2) > List<-list(df1,df2,df3) > List输出结果
[[1]] x1 x2 1 6 5 2 6 5 3 1 6 4 3 7 5 3 2 6 1 5 7 2 4 8 4 9 9 3 7 10 6 4 11 3 3 12 7 6 13 5 4 14 6 3 15 3 7 16 6 3 17 6 4 18 6 2 19 2 5 20 4 2 [[2]] y1 y2 1 -0.122804668 -1.6121924 2 0.368791187 -0.1544747 3 0.609177511 -0.1826137 4 -1.203014907 0.2230573 5 0.635002355 -1.8070089 6 1.859925346 -0.7883239 7 -0.031825058 -0.3458682 8 -2.096244574 0.9227411 9 -1.580421379 1.2784456 10 1.110385489 -0.2452274 11 0.336772170 -0.8106806 12 -0.957564919 0.3096939 13 -0.686361808 -0.9769511 14 -1.828680903 -1.3923749 15 -1.455614755 0.6422880 16 1.300948577 1.3421038 17 -0.002059289 0.3392104 18 0.577102561 0.8994493 19 -0.908456903 0.5898572 20 1.085195168 0.5538230 [[3]] z1 z2 1 2.890933 4.918197 2 3.810215 3.869794 3 4.229115 2.709872 4 2.418676 4.464096 5 3.854820 4.876632 6 4.585025 4.080327 7 2.982565 3.604979 8 3.060728 4.523820 9 3.173745 2.203814 10 2.814365 2.806997 11 3.115635 3.032836 12 3.464063 3.498520 13 4.565387 2.021247 14 3.150363 3.273335 15 3.371670 4.497002 16 3.291873 4.102787 17 2.930217 3.962004 18 4.222483 4.428542 19 4.078323 3.199733 20 2.430997 4.328706
提取列表中数据帧的最后一行-
> lapply(List,tail,1)输出结果
[[1]] x1 x2 20 4 2 [[2]] y1 y2 20 1.085195 0.553823 [[3]] z1 z2 20 2.430997 4.328706