如何在 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

更新于:2021年11月9日

5K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告