How to extract the last value of all elements of a list in R?

To extract the last value of all elements of a list in R, we can follow the below stepss −

• First of all, create a list.

• Then, use tail function with sapply function to extract the last value of all elements in the list.

Example 1

Create the list

Let’s create a list as shown below −

List<-list(x=rpois(200,5),y=rpois(200,2),z=rpois(200,10))
List

Output

On executing, the above script generates the below output(this output will vary on your system due to randomization) −

  $x [1] 5 5 4 5 4 6 9 7 5 3 5 5 3 8 2 6 5 8 4 9 2 9 2 5 7 [26] 9 3 2 7 8 10 5 4 1 6 3 5 2 3 1 5 5 3 3 6 5 6 1 10 8 [51] 3 3 8 4 5 7 5 8 6 3 2 9 6 5 2 3 9 6 7 6 9 5 4 12 4 [76] 1 4 2 4 5 7 5 5 7 3 6 2 7 3 3 9 9 4 7 3 4 4 7 4 11 [101] 6 6 3 6 3 9 6 7 2 3 4 7 4 1 3 4 6 5 5 7 9 6 3 3 4 [126] 6 5 4 3 0 2 2 2 9 5 8 5 6 5 3 5 2 6 8 4 6 4 5 3 7 [151] 4 4 4 5 6 2 7 2 3 4 3 5 5 6 3 6 3 6 3 4 6 5 7 8 2 [176] 8 6 10 3 4 2 3 4 2 3 4 7 1 1 3 5 1 5 8 5 5 5 4 8 4$y
[1]  3 1 3 3 3 1 4 2 0 1 4 3 2 0 1 4 3 2 2 5 3 2 2 2 8 0 0 3 1 4 3 2 1 2 0 2 1
[38]  1 0 0 1 4 4 1 2 3 1 1 2 3 4 2 2 5 4 1 3 3 3 5 0 3 2 1 2 1 3 1 2 2 3 2 1 1
[75]  2 1 1 0 3 1 0 2 0 1 2 1 2 3 3 3 1 0 2 4 2 1 1 2 0 2 1 1 3 1 2 5 1 6 0 3 2
[112] 2 4 1 2 1 1 1 2 0 0 1 1 2 3 3 3 0 5 0 2 4 1 0 1 1 4 2 0 3 6 5 1 1 3 1 1 3
[149] 2 4 2 0 1 2 0 1 4 3 3 3 1 4 2 0 3 1 2 1 5 2 0 2 1 0 0 2 2 2 3 3 6 1 3 2 0
[186] 6 1 4 1 0 3 1 3 0 3 3 0 1 5 3

$z [1] 11 10 12 10 11 10 11 5 8 11 7 9 7 12 6 7 9 9 10 13 16 7 6 14 8 [26] 15 10 13 12 10 13 7 10 8 10 8 14 16 6 9 9 10 4 8 10 9 13 11 8 13 [51] 8 7 11 12 10 14 9 12 6 7 7 9 7 12 13 6 9 9 9 11 10 11 10 12 13 [76] 8 7 5 15 15 8 9 11 7 5 15 14 11 11 10 10 10 4 13 5 10 9 6 16 10 [101] 11 9 7 8 12 10 4 13 13 9 13 12 16 9 8 12 10 7 12 11 13 8 8 8 7 [126] 9 6 10 7 9 14 10 9 8 11 10 9 15 7 9 5 19 14 14 3 14 10 13 5 12 [151] 13 15 12 10 10 11 7 8 9 8 11 16 14 15 15 9 11 6 10 10 13 7 7 8 7 [176] 11 12 9 9 13 10 10 10 8 8 10 7 8 5 11 14 7 12 15 8 11 6 3 10 11 Extract the last value of all elements in the list Using tail function with sapply function to extract the last value of all elements in List − List<-list(x=rpois(200,5),y=rpois(200,2),z=rpois(200,10)) sapply(List,tail,1) Output x y z 4 5 4 Example 2 Create the list Let’s create a list as shown below − List_dat<-list(v1=rnorm(80),v2=rnorm(80),v3=rnorm(80),v4=rnorm(80)) List_dat Output On executing, the above script generates the below output(this output will vary on your system due to randomization) − $v1
[1] -0.165619008  0.267304333 -0.311854408 -0.238362446 -1.061826764
[6]  -0.902757798 -1.304989425  0.009363615 -0.493292919  0.565658904
[11] -2.198276663 -0.717800548  1.532979803  0.444892987 -1.419623758
[16] -0.502224305 -0.200736610  0.049186878 -0.441757302 -0.444764497
[21] -0.584759254  0.723140497  0.367873351 -0.180670874 -1.796277458
[26]  1.100384361 -1.458679536  0.219591257 -0.180696378 -0.330422342
[31] -1.553135827 -1.748224159  0.248185763 -0.009373961  1.125561626
[36] -0.982818712  0.969176592  1.565843138  0.715870619  0.103470665
[41] -1.502028543 -2.006461124 -0.354720099 -2.672053274 -2.816985415
[46]  0.206832137 -0.795527146 -0.760560831 -0.055845001  1.241985518
[51] -0.696766201 -0.057755913 -0.018895733  1.146811388  0.183040772
[56]  1.395248947  1.904267782  0.227063050 -0.994592435 -0.597812454
[61] -1.398883516  0.581127441 -0.132287974  0.140094678  0.687125139
[66]  0.943830156  1.356955760  0.484714531 -0.016157116 -0.316080153
[71]  0.017715555 -0.914927519 -0.544362899 -1.098048285 -0.221777322
[76] -0.702013912  0.713302291  0.415760032  0.165963414 -0.308774572
$v2 [1] 0.939470436 1.224423833 -0.678353206 0.256929871 -1.486556568 [6] 0.584678000 -1.939044925 0.589227763 0.466917601 0.979279670 [11] 1.215899592 0.171994303 0.341458646 1.247757791 -0.317927898 [16] -0.120414087 0.051772064 0.163214677 -1.183199180 -0.805426673 [21] 0.522099674 -1.312402258 -0.558474088 -0.965871568 -0.916720726 [26] 1.547692125 -2.241332630 1.494111931 -1.546344627 -0.897292897 [31] 0.453366769 0.154360059 -0.107195767 -0.996790344 0.053726718 [36] -1.182363178 -0.850161463 -0.583416507 1.335670572 0.974051746 [41] -0.529723025 0.915326717 0.635680306 -0.754858923 -0.565880529 [46] -1.035515553 -0.969044730 -0.958490706 -0.523441908 1.095373212 [51] 1.571221232 -0.466685502 0.383138894 -2.116778710 0.629212537 [56] 2.617438616 0.241360500 -2.834093313 0.373331037 1.050864716 [61] -2.617000251 1.371904324 0.022216534 0.902354826 0.828567910 [66] 1.337335128 0.443175631 0.698803995 1.615452305 -0.794854093 [71] -0.108666422 0.008559631 -1.156218790 -0.507252144 0.228189457 [76] 0.858232394 -0.874342697 -0.451921861 0.586591310 0.959680459$v3
[1]  -0.037753277  3.339534031  0.514752665  1.539406345  -1.895015064
[6]  -0.533903863  0.972546150  0.050978469  2.221969338  1.617951459
[11]  0.980098124  -0.372557654 1.350539008 -0.471157353 -0.105476569
[16] -0.747279313  0.958785585  0.339965557 -0.164159199 -0.130173610
[21]  1.132918442  0.339870275 -1.926491430  0.522636467  0.716388988
[26]  0.679783801  1.392403414 -0.607788238  0.905557033  0.009501599
[31]  0.846922279 -2.261438842 -0.978736471 -0.802633182  1.429760151
[36]  0.298034357  0.030650462 -1.166376459 -1.060877246  0.313146937
[41] -0.433326714 -0.957050164  0.357296222  0.476765450 -0.629053646
[46]  0.669218564 -0.495977917 -0.648551863  0.184393330  0.317240459
[51]  0.132567947  1.401316320  0.221379860  0.062984921 -1.600515000
[56]  1.579340306  0.070115120 -0.181931429 -0.777450854 -0.954764769
[61]  0.206774487  0.930842296 -1.009157293  1.878353398 -0.691782997
[66]  1.107246619 -0.822550771  0.265348583  0.501030782  0.592028768
[71] -1.155336476  0.568988036  0.296063789  0.288713350  1.851737384
[76] -0.304182660  0.633713059 -0.633567625 -1.081723777 0.497455278
\$v4
[1]  -1.755908032  0.196341354  1.979263873  0.319594492  0.884962275
[6]   0.691062154 -1.060594939 -0.568229034  1.547051038 -1.418956106
[11] -0.859350736 -1.052428571 -1.023346185  0.765995100 -0.868273881
[16]  0.533401606 -0.914722544 -1.498923941 -1.197834007  0.956796938
[21] -0.023891162 -0.190712717 -1.446599652  0.599447419  0.345153505
[26] -0.777222622 -1.348610866  0.725954137  0.323154080 -0.461342070
[31] -0.171078041 -0.605117965  0.328708217 -0.457518147  0.008756334
[36] -0.073953767 -0.811685464 -0.453661714  1.746911365 -1.061391284
[41] -0.424500978  0.832235010  1.466961911  0.117079738  2.060399238
[46] -0.177322886 -0.989370627 -1.425955631 -0.015187413 -0.495382133
[51] -1.822225215  1.146436211 -0.619900870  0.405587917  1.846997193
[56] -0.886876238  0.630588180 -0.287299072  0.159368246  1.279635007
[61]  0.710200930  0.712856530  1.454045922  2.036560140  1.208812240
[66] -0.840375278 -1.075936233  0.079356105  0.578935542 -1.357121420
[71]  0.154157687  0.239540624  1.059662391  3.159911707 -1.207488171
[76]  1.918211043 -0.246651408 -0.253881664 -0.555600815 -0.546419848

Extract the last value of all elements in the list

Using tail function with sapply function to extract the last value of all elements in List_dat −

List_dat<-list(v1=rnorm(80),v2=rnorm(80),v3=rnorm(80),v4=rnorm(80))
sapply(List_dat,tail,1)

Output

     v1        v2         v3        v4
-0.3087746 0.9596805 0.4974553 -0.5464198