如何在R中按名称删除列表元素?

数据分析不仅包括数学运算,我们还需要在数据清洗、数据挖掘、特征工程等方面花费大量时间。一种操作可能是按名称删除列表元素,如果它们对实现我们的目标没有帮助。可以在 which 函数的帮助下使用名称删除元素。

示例

考虑下面的列表 

List1<-

list(x1=rnorm(60,1,0.95),x2=rnorm(60,5424,127.68),x3=rnorm(60,50,2.35),x4=rnorm(60,20,3.24))

List1

输出结果
$x1

[1] -1.103107699 2.078722802 2.371164857 0.021881406 0.390992950

[6] 1.476385690 1.141207941 -0.087333092 0.782669645 -0.031383610

[11] 0.795189013 1.197991076 1.444175931 0.769249312 1.912066039

[16] 2.717922675 0.710198309 0.670194245 2.461528527 1.858932946

[21] 0.065507123 0.286159313 1.672737420 1.786018329 0.803019105

[26] 1.885696334 0.758169091 -0.410390929 -1.254737911 1.192054962

[31] 2.697837121 2.177011009 -1.459178547 2.733624037 1.271602761

[36] -0.566724365 0.006310726 0.350689440 1.144167032 2.300173244

[41] 0.806413286 0.508535201 1.581777888 -0.250193267 3.523530052

[46] 1.498029653 1.447637379 0.115807682 1.282445998 1.711245218

[51] 0.423081872 1.051167794 -0.265119562 -0.577337623 2.390421540

[56] 0.354019835 -1.883593673 2.598753510 0.351321430 -0.053119277

$x2

[1] 5324.288 5344.918 5241.660 5578.071 5329.440 5437.268 5351.409 5463.745

[9] 5535.259 5457.844 5640.661 5398.484 5383.392 5429.124 5357.249 5417.066

[17] 5234.672 5533.008 5555.331 5525.581 5419.722 5324.499 5495.273 5281.291

[25] 5570.078 5550.720 5449.779 5447.574 5579.832 5255.774 5475.710 5619.025

[33] 5570.046 5477.875 5495.976 5568.811 5247.030 5414.587 5190.818 5395.836

[41] 5500.447 5501.045 5314.469 5418.376 5535.070 5664.423 4935.960 5531.844

[49] 5378.684 5508.853 5522.674 5489.705 5512.495 5414.008 5505.148 5148.656

[57] 5586.520 5290.609 5397.421 5460.574

$x3

[1] 49.34596 51.32998 51.70226 49.68396 51.15468 50.26879 52.06086 48.99725

[9] 52.73262 48.60677 49.58647 51.88704 48.73080 48.13890 44.85399 46.20519

[17] 47.22128 50.60390 48.75666 48.84218 50.31721 50.67285 48.47646 46.34506

[25] 49.27422 49.62860 51.51841 45.83099 52.30268 53.66676 53.40591 48.06345

[33] 52.23169 51.96759 49.25928 52.12997 45.58793 50.01810 48.47573 48.46257

[41] 50.01778 52.13582 46.03818 48.50411 49.14832 51.11971 48.21913 49.86897

[49] 48.92824 51.70422 49.13782 47.28929 47.59428 54.85879 46.26745 50.44922

[57] 48.93762 49.45593 52.17696 49.34633

$x4

[1] 18.04474 23.41377 16.25905 16.28852 21.89753 25.99785 22.42163 21.69039

[9] 26.04570 18.27497 24.14191 19.02528 19.14901 22.03552 20.95017 14.05373

[17] 21.08831 22.05547 22.02216 26.58448 20.22041 18.25070 24.53673 23.53406

[25] 21.20194 26.09326 19.48507 27.61870 14.49611 22.72755 23.16411 19.92344

[33] 10.63012 12.80279 19.96753 15.59017 19.46262 21.70891 18.89588 21.09484

[41] 16.83731 17.37747 17.82628 20.00209 16.38927 16.54549 12.25639 23.48978

[49] 25.13921 14.30144 22.36671 23.48653 20.32195 22.40168 23.67391 10.55038

[57] 16.60622 22.41615 20.96008 18.15460

从 List1 中删除 x1 和 x2 -

示例

List1[which(names(List1)%in%c("x1","x2"))]<-NULL

List1

输出结果
$x3

[1] 49.34596 51.32998 51.70226 49.68396 51.15468 50.26879 52.06086 48.99725

[9] 52.73262 48.60677 49.58647 51.88704 48.73080 48.13890 44.85399 46.20519

[17] 47.22128 50.60390 48.75666 48.84218 50.31721 50.67285 48.47646 46.34506

[25] 49.27422 49.62860 51.51841 45.83099 52.30268 53.66676 53.40591 48.06345

[33] 52.23169 51.96759 49.25928 52.12997 45.58793 50.01810 48.47573 48.46257

[41] 50.01778 52.13582 46.03818 48.50411 49.14832 51.11971 48.21913 49.86897

[49] 48.92824 51.70422 49.13782 47.28929 47.59428 54.85879 46.26745 50.44922

[57] 48.93762 49.45593 52.17696 49.34633

$x4

[1] 18.04474 23.41377 16.25905 16.28852 21.89753 25.99785 22.42163 21.69039

[9] 26.04570 18.27497 24.14191 19.02528 19.14901 22.03552 20.95017 14.05373

[17] 21.08831 22.05547 22.02216 26.58448 20.22041 18.25070 24.53673 23.53406

[25] 21.20194 26.09326 19.48507 27.61870 14.49611 22.72755 23.16411 19.92344

[33] 10.63012 12.80279 19.96753 15.59017 19.46262 21.70891 18.89588 21.09484

[41] 16.83731 17.37747 17.82628 20.00209 16.38927 16.54549 12.25639 23.48978

[49] 25.13921 14.30144 22.36671 23.48653 20.32195 22.40168 23.67391 10.55038

[57] 16.60622 22.41615 20.96008 18.15460

示例

List2<- list(y1=rpois(60,1),y2=rpois(60,5),y3=rpois(60,2),y4=rpois(60,3),y5=rpois(60,8))

List2

输出结果
$y1

[1] 0 1 2 1 0 1 2 2 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 3 1 0 2 1 2 0 1 1 2 1 1 1 0 1

[39] 0 4 1 1 1 0 0 0 1 1 0 1 1 2 1 1 0 1 1 1 2 3

$y2

[1] 3 6 4 3 3 4 4 5 1 3 6 3 4 4 5 2 6 8 3 5 5 3 6 5 7

[26] 5 7 3 4 8 3 5 7 5 4 6 9 4 2 6 8 4 6 6 1 7 10 5 6 3

[51] 3 5 4 0 6 4 7 6 8 7

$y3

[1] 3 2 2 4 2 0 3 0 1 1 2 4 0 2 3 1 3 1 3 3 2 1 2 2 4 1 1 3 1 1 1 2 2 4 3 1 2 2

[39] 1 1 1 0 3 6 2 1 3 1 2 4 1 2 1 0 3 5 2 3 0 2

$y4

[1] 3 1 4 4 3 4 3 2 1 3 6 1 4 2 1 2 2 1 3 1 3 2 2 1 0 4 3 5 3 3 2 0 2 2 2 3 1 3

[39] 2 4 4 2 1 2 3 3 5 0 2 1 8 4 1 5 3 3 2 3 4 6

$y5

[1] 8 7 6 14 6 14 9 3 11 12 11 6 11 3 8 4 8 5 11 6 4 7 7 5 11

[26] 7 5 6 8 4 9 3 6 9 7 3 10 3 9 13 9 6 14 5 14 10 5 7 6 4

[51] 3 13 5 11 7 9 5 5 5 4

从 List2 中删除 y1、y2 和 y3 -

示例

List2[which(names(List2)%in%c("y1","y2","y3"))]<-NULL

List2

输出结果
$y4

[1] 3 1 4 4 3 4 3 2 1 3 6 1 4 2 1 2 2 1 3 1 3 2 2 1 0 4 3 5 3 3 2 0 2 2 2 3 1 3

[39] 2 4 4 2 1 2 3 3 5 0 2 1 8 4 1 5 3 3 2 3 4 6

$y5

[1] 8 7 6 14 6 14 9 3 11 12 11 6 11 3 8 4 8 5 11 6 4 7 7 5 11

[26] 7 5 6 8 4 9 3 6 9 7 3 10 3 9 13 9 6 14 5 14 10 5 7 6 4

[51] 3 13 5 11 7 9 5 5 5 4

以上是 如何在R中按名称删除列表元素? 的全部内容, 来源链接: utcz.com/z/331889.html

回到顶部