如何在 R 中提取列表所有元素的前 n 个值?
要提取 R 中列表所有元素的前 n 个值,我们可以按照以下步骤操作:
首先,创建一个列表。
然后,使用 head 函数和 sapply 函数提取列表中所有元素的前 n 个值。
示例 1
创建列表
让我们创建一个如下所示的列表:
List1<- list(v1=sample(1:100,150,replace=TRUE),v2=sample(1:100,150,replace=TRUE),v3=sample(1:100,150,replace=TRUE),v4=sample(1:100,150,replace=TRUE)) List1
输出
执行上述脚本后,将生成以下输出(此输出由于随机化而可能因您的系统而异):
$v1 [1] 22 60 21 92 95 24 76 48 86 4 76 42 68 45 59 53 36 48 [19] 38 8 76 13 7 73 49 76 92 10 97 34 8 77 78 68 77 5 [37] 9 14 87 9 80 86 82 51 71 41 63 77 5 10 56 37 28 37 [55] 47 27 1 50 85 47 71 74 51 26 98 35 30 71 69 99 69 34 [73] 100 29 97 97 98 61 65 89 56 76 45 67 97 62 53 45 8 47 [91] 38 75 78 20 6 6 38 15 17 97 43 28 18 66 87 72 83 94 [109] 51 8 49 100 43 65 65 100 69 15 41 58 16 60 98 52 82 68 [127] 57 79 16 38 85 26 30 62 94 34 65 1 90 36 55 95 77 63 [145] 11 25 63 87 19 51 $v2 [1] 95 48 62 98 8 91 56 34 9 57 9 12 83 95 55 99 19 32 [19] 38 7 42 100 24 9 35 28 16 13 79 72 59 26 58 49 7 43 [37] 72 82 84 70 25 27 93 27 13 91 78 46 25 51 21 48 77 52 [55] 66 87 75 97 98 97 24 87 46 90 9 55 41 63 63 6 33 12 [73] 61 29 23 92 68 13 38 63 17 57 50 55 52 77 46 37 47 89 [91] 39 66 64 45 73 89 61 63 88 68 62 24 63 74 55 13 45 9 [109] 8 57 10 17 12 60 67 23 83 15 28 60 90 83 92 10 66 3 [127] 67 76 60 34 10 55 80 74 95 19 90 20 54 8 68 100 3 20 [145] 68 21 80 10 34 95 $v3 [1] 80 1 60 6 22 17 98 92 57 27 76 53 46 11 21 93 79 57 6 95 41 28 87 56 57 [26] 23 60 13 98 31 91 48 67 57 7 49 16 52 27 35 76 78 45 72 38 81 38 78 22 62 [51] 49 98 43 21 82 61 39 66 4 73 17 19 96 82 65 59 72 3 67 17 68 74 59 98 45 [76] 39 51 40 93 12 39 89 14 74 37 81 86 31 83 28 53 26 26 7 53 76 9 78 33 7 [101] 63 39 2 31 27 91 68 60 48 64 71 44 5 2 93 76 12 79 24 56 5 4 29 72 4 [126] 66 10 45 70 9 17 41 17 94 45 98 11 1 68 76 21 10 94 75 82 61 69 36 23 3 $v4 [1] 12 72 69 5 4 49 84 74 93 24 50 14 22 76 31 51 96 26 [19] 48 68 39 94 44 26 32 56 82 64 77 84 85 15 66 10 18 49 [37] 49 29 84 4 36 78 29 60 7 74 48 38 73 18 53 39 8 55 [55] 73 62 42 81 36 91 3 16 87 98 61 35 43 100 82 12 65 48 [73] 28 86 15 30 61 49 87 55 14 64 1 83 54 46 92 53 31 63 [91] 55 23 29 71 59 50 26 30 81 15 19 16 97 51 54 49 44 9 [109] 69 22 99 9 45 3 37 42 17 87 8 84 13 26 68 47 88 88 [127] 54 100 12 24 89 38 66 24 75 33 23 68 61 68 81 56 94 45 [145] 71 26 23 38 7 93
提取列表中所有元素的前 n 个值
使用 head 函数和 sapply 函数提取 List1 中所有元素的前 10 个值:
List1<- list(v1=sample(1:100,150,replace=TRUE),v2=sample(1:100,150,replace=TRUE),v3=sample(1:100,150,replace=TRUE),v4=sample(1:100,150,replace=TRUE)) sapply(List1,head,10)
输出
v1 v2 v3 v4 [1,] 79 15 21 26 [2,] 56 66 82 2 [3,] 8 19 96 68 [4,] 97 35 29 79 [5,] 97 98 55 78 [6,] 22 21 42 99 [7,] 69 55 44 74 [8,] 16 88 63 38 [9,] 69 69 30 69 [10,] 94 41 70 35
示例 2
创建列表
让我们创建一个如下所示的列表:
List2<-list(x=rnorm(50),y= rnorm(50),z=rnorm(50)) List2
输出
执行上述脚本后,将生成以下输出(此输出由于随机化而可能因您的系统而异):
$x [1] -0.39792125 0.74964782 -0.57634257 0.71999035 0.32411962 -0.77093605 [7] -0.94714349 1.14963831 0.90029617 0.35403370 1.15488861 0.46021837 [13] 1.76129897 0.55533559 -0.99318917 0.02891958 0.17254889 -0.19344847 [19] 0.41305350 0.83138278 -0.38491469 0.41233018 0.74489232 0.02164781 [25] 0.35683122 -0.47193421 -0.86310810 0.29632447 -1.56675236 1.35308273 [31] -0.03833990 -0.91899995 -0.80964722 0.14063178 0.10355068 -0.42866679 [37] 0.63542371 -0.23414671 -1.30251102 -0.53564528 0.98143644 0.79836568 [43] 0.44999460 -0.11816612 1.15379010 -1.11469349 0.80081302 1.30714382 [49] 0.97439468 -0.11710697 $y [1] 0.46832227 -0.39366335 -0.15408130 0.74988733 0.14803404 0.01877236 [7] 1.74605539 1.37383353 0.08365044 0.74078162 -2.24731927 0.52644559 [13] 0.93709378 -1.04730770 -0.17765310 1.86340916 0.21534932 0.02788970 [19] -0.27614437 1.71926302 0.72573090 0.29402575 -0.54798205 -0.96702214 [25] -0.67154618 -1.56908490 1.79970814 1.89616649 0.57721665 -0.10516876 [31] 0.02550615 0.36972961 -0.45759932 -0.47377820 -1.04034276 0.81918878 [37] -0.16202697 0.77223396 -1.53104643 0.16054709 -0.84399144 0.78417853 [43] 0.60950313 -0.38649093 0.11035999 1.76338328 1.02102323 0.82569852 [49] -0.19150898 1.47684052 $z [1] 1.9119185569 1.2635075035 -0.8267127682 -1.4335086128 -1.0244723665 [6] -0.5518066227 0.9751007326 0.3711138425 1.6393508714 -0.7550721589 [11] -0.8796699626 -0.7679678249 1.9115589659 -0.0039228629 1.6639555903 [16] -1.1242861240 -0.2465343092 0.8157478552 0.5552747962 -0.9389815629 [21] 1.0269967036 1.5574155633 -0.7315831725 -1.5702292613 -0.4221248517 [26] 1.2671640614 -0.8204813519 1.4164538836 -0.7008683226 0.2209475850 [31] -0.8890729405 0.8395892736 -1.5906412715 -0.4454429088 0.0367536375 [36] -0.4143328275 1.7596532115 1.4287741518 -0.7408800634 -0.6261697293 [41] 0.9819785012 -0.2516292546 -0.0953959014 2.1374435457 0.2729319888 [46] 1.2363266065 -0.5049998778 0.4441977383 0.0009051012 -0.5801065632
提取列表中所有元素的前 n 个值
使用 head 函数和 sapply 函数提取 List2 中所有元素的前 10 个值:
List2<-list(x=rnorm(50),y= rnorm(50),z=rnorm(50)) sapply(List2,head,10)
输出
x y z [1,] -0.599001268 -2.1302312 0.30960984 [2,] 0.979756782 0.1918245 -0.54982670 [3,] 1.843847852 -0.9411825 -1.76691486 [4,] 0.505655349 -1.8498407 0.42698123 [5,] -0.564534267 1.5836994 -0.59171716 [6,] 0.155689792 -1.1136393 2.01242268 [7,] -0.631630974 -0.2841103 0.99231845 [8,] 0.006202028 0.6883346 0.50758302 [9,] -0.411402207 1.3089835 -1.54271187 [10,] -0.352348225 1.5188278 0.05449173
广告