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