R语言:list的嵌套与如何提取嵌套中的值

本文介绍了R语言中list数据结构的嵌套使用,以及如何在复杂的嵌套结构中提取数据。通过一个示例,展示了如何生成和处理包含多个data sets的三层嵌套list,每个数据集都进行了K-means聚类分析,K值从2到10。提取嵌套list中的值需要明确各层含义,例如kmean[[k]][[i]]$cluster用于获取k值为k、数据集为i的聚类结果。此外,文章提到了在因子实验设计中list的使用,强调了理解并操作list的重要性。
摘要由CSDN通过智能技术生成

R的数据结构有很多种,常用的包括向量vector,矩阵matrix,数组array,列表list和dataframe数据框。前三个都有其特定的性质和结构,今天要介绍的是list,它非常灵活好用~因为可以存放不同数据类型!之前做assignment的时候还没有发现list的美妙,但现在写毕业论文数据量开始变大,同时通过调用Rpackage常常产生各种数据类型,渐渐发觉list真的很好用!因为使用了for循环,还会产生层层嵌套的超大list,这时候,如何定义这个嵌套的list,如何取出里面的值就变得很重要。

具体的逻辑关系其实很简单,只要头脑清醒不把自己绕晕,无论多少层轻松搞定!

先拿两层的为例好了:

题目是酱紫的:从同一个函数随机生成20个data sets,每个data set都用K-means进行分类,K从2~10都遍历一遍。结果保存在一个list里。

第一步:

生成data set的函数已经给出了。20个数据就是run20次~因为是随机生成的,最后得到的每个data set都不相同。然后把这20个数据集都存在一个list里~

art2 <- function(){
  x1 <- rnorm(20)
  y1 <- rnorm(20)
  x2 <- rnorm(20,mean=10)
  y2 <- rnorm(20)
  x3 <- runif(100,-20,30)
  y3 <- runif(100,20,40)
  clusterdata2 <- cbind(c(x1,x2,x3),c(y1,y2,y3))
  cvec <- c(rep(1,20),rep(2,20),rep(3,100))
  out <- li
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值