1 创建一个list
用list函数 list和vector不同,可以包含不同的元素
2 list元素可以有name,
> lst <- list(mid=0.5, right=0.841, far.right=0.977)
> lst
$mid
[1] 0.5
3 用position,来显示list的元素 lst是一个list, 则可以 lst[[n]] lst[c(n1, n2, ..., nk)]
4 list[n] 是一个list,而list[ [ n ] ] 则是一个元素
注意:用cat可以对元素使用,但不能对list使用
> cat(years[[1]], "\n")
1960
> cat(years[1], "\n")
Error
5 可以由name来选取list的元素
> years <- list(Kennedy=1960, Johnson=1964, Carter=1976, Clinton=1994)
> years[["Kennedy"]]
> years$Kennedy
6 对于lst[["name"]] and lst["name"]. 也有不同
7 删除list的元素,通过将其设置为NULL
8 将list变换为vector
用unlist函数
9 如果list中有NULL,想要消除,则使用 sapply函数,lst是一个list
> lst[sapply(lst, is.null)] <- NULL
sapply(lst, is.null) 返回T,F 再将是NULL的位置设置为NULL
10 list可以和逻辑值联系
> lst[abs(unlist(lst)) < 1] <- NULL
11 创建一个矩阵
先获取list或者vector,然后用matrix函数 例如: > matrix(vec, 2, 3)
12 注意:matrix函数默认是一列一列的填充,而不是一行一行, byrow=TRUE 可以更改
13 > matrix(0, 2, 3) # Create an all-zeros matrix
[,1] [,2] [,3]
[1,] 0 0 0
[2,] 0 0 0
矩阵的操作
所以也可以根据name来选取矩阵中的位置 例: tech.corr["IBM","GOOG"]
3 从列数据创建dataframe
> dfrm <- data.frame(v1, v2, v3, f1, f2)
用data.frame函数
这种形式可以添加列的name
> dfrm <- data.frame(name1=v1, name2=v2。。。。)
4 用as.data.frame()函数从list来创建数据框