R语言中unlist是干嘛用的?

0
已邀请:
0

dj123jary 2016-07-26 回答

我们知道R语言里面有list的结构,可以存放不同类型,不同长度的数据,如下:
> class(x)
[1] "list"
> x
$values
 [1] 65.1502461 17.8017729 10.3703400  6.6269489  3.9026104  3.5520940  2.8550033  2.7764571  1.9143908  1.5798768  1.1127955  0.8546854  0.6919527  0.4979408  0.2950905

$vectors
             [,1]        [,2]        [,3]        [,4]        [,5]         [,6]        [,7]         [,8]        [,9]        [,10]       [,11]       [,12]        [,13]       [,14]        [,15]
 [1,] -0.14912901  0.37146082  0.20048097 -0.27731127  0.63693894  0.143536606  0.05433403  0.188839006  0.37899793  0.224361505  0.09265621  0.19068685 -0.001964754 -0.13568194 -0.020959389
 [2,] -0.13225049 -0.02929589  0.04191831  0.13423074  0.04220993  0.757039225  0.12184837 -0.269341294 -0.03311969 -0.028398717 -0.09289433 -0.08609111 -0.488649038  0.20648071  0.015430355
 [3,] -0.02961089  0.10184551 -0.13102953  0.60316767  0.16747362 -0.002237916  0.11723679  0.365043729 -0.06095355  0.450152478 -0.19922303 -0.38715482  0.124848179  0.09953932  0.106256782
 [4,] -0.20312640 -0.09304232  0.61973332  0.12639903  0.05347262 -0.018910804 -0.13452739  0.046299760 -0.51708951  0.135003129  0.32195097 -0.06967304 -0.044179834 -0.18295678 -0.311511234

很明显unlist就是把里面不同的类型的数据分解出来,这个函数还是很有应用场景的,因为R里面很多函数的返回结果都是list
但是也有很多函数的输入不是list,而是matrix或者data.frame,这时候就要先unlist,在as.matrix()或as.data.frame()来进行强制类型转换

要回复问题请先登录注册