太原企业网站建设,dede替换网站模板,私人网盘服务器,海南短视频搜索seo哪家实惠列表
1-列表
列表可以包含不同类型的对象#xff0c;也就是说#xff0c;列表不是将某些具体的值组织起来#xff0c;而是组织R对象。列表将数据组织在一个一维集合中。
列表非常好用#xff0c;因为它可以装任何类型的对象#xff0c;不要求数据之间是同质的。
创建列…列表
1-列表
列表可以包含不同类型的对象也就是说列表不是将某些具体的值组织起来而是组织R对象。列表将数据组织在一个一维集合中。
列表非常好用因为它可以装任何类型的对象不要求数据之间是同质的。
创建列表 list() list1 - list(100:130, R, list(TRUE, FALSE))list1
[[1]][1] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
[18] 117 118 119 120 121 122 123 124 125 126 127 128 129 130[[2]]
[1] R[[3]]
[[3]][[1]]
[1] TRUE[[3]][[2]]
[1] FALSE 以上代码创建了一个列表其中第一个元素是一个长度为31的数值型向量第二个元素是一个长度为1的字符串而第三个元素是一个长度为2的新列表。list函数创建列表的方式与c函数创建向量的方式相似不同的元素使用逗号分开。
解释上述的输出结果双中括号索引如[[1]]表示展示的内容来自列表的第一个元素。单中括号索引表示在其之后显示的内容来自列表某元素的哪一个子元素。例如100是该列表抵押给元素的第一个子元素。R是列表第二个元素的第一个子元素。
2-从列表中提取成分的内容
列表中的每个成分是一个对象比如向量、数据框、矩阵、列表 使用$通过成分名字来提取该成分下的内容使用双括号例如[[n]]来提取第n个成分的内容。这里n可以是索引或者成分名字。
以下是具体的例子 lst - list(numbers c(1,2), logical TRUE, strings c(a, b, c))lst
$numbers
[1] 1 2$logical
[1] TRUE$strings
[1] a b c lst[[1]]
[1] 1 2lst$numbers
[1] 1 2
3-提取列表子集
列表子集从列表中提取多个成分及内容得到的是列表可以使用一个括号[ ]来提取列表子集。在[ ]中可以用字符向量表示成分名称用数值向量表示成分位置 或者用逻辑向量指定是否选择来提取列表成分。 lst - list(numbers c(1,2), logical TRUE, strings c(a, b, c))lst
$numbers
[1] 1 2$logical
[1] TRUE$strings
[1] a b clst[1]
$numbers
[1] 1 2
数据框-data.frame
1-数据框
数据框可以看作类似是EXCEL表各列数据类型允许不同每一列数据类型相同。在R中数据框那个是特殊的列表其每个列表元素都是一个长度相同的向量。
函数data.frame()可以生成数据框只适合小数据场景数据量比较大的时候建议将数据导入到R中。 d - data.frame(namec(李明, 张聪, 王建),agec(30, 35, 28),heightc(180, 162, 175),stringsAsFactorsFALSE)print(d)name age height
1 李明 30 180
2 张聪 35 162
3 王建 28 175 data.frame()函数会将字符型列转换成因子加选项stringsAsFactorsFALSE可以避免这样的转换。
2-数据框内容访问
访问第二列是一个向量d[[2]]d[[age]], d[,2], d[, age] 注后面两种做法与tibble不兼容应避免使用 d[,age]
[1] 30 35 28d[[2]]
[1] 30 35 28d[[age]]
[1] 30 35 28d[,2]
[1] 30 35 28d[,age]
[1] 30 35 28
访问数据框的第二个元素此时把数据框当作列表来看返回的结果仍是一个数据框。 d[2]age
1 30
2 35
3 28d[age]age
1 30
2 35
3 28class(d[2])
[1] data.frame
数据框-tibble
数据框-tibble
数据框是一个随着R语言前身S语言继承下来的概念现在已经有一些不足之处tibble包提供了tibble类这是数据框的一个改进版本。
Hadley在tibble包中引入了一种tibble数据框以代替data.frame并且tidyverse包都是基于tibble数据框的。
创建数据框tibble注只适应于数据量比较小的情况。
若干列向量创建tibble按行录入数据的方式创建tibble。 t.bp - tibble(序号c(1,5,6,9,10,15),收缩压c(145, 110, 未测, 150, 拒绝, 115))t.bp
# A tibble: 6 × 2序号 收缩压dbl chr
1 1 145
2 5 110
3 6 未测
4 9 150
5 10 拒绝
6 15 115 t.bp2 - tribble(~序号,~收缩压,1,145,5,110,6,NA,9,150,10,NA,15,115)t.bp2
# A tibble: 6 × 2序号 收缩压dbl dbl
1 1 145
2 5 110
3 6 NA
4 9 150
5 10 NA
6 15 115
注意tribble() 中数据每行末尾也需要有逗号最后一行末尾没有逗号。
tibble比数据框好的地方
tibble 与数据框的一大区别是在显示时不自动显示所有内容这样可以避免显示很大的数据框将命令行的所有显示都充满。tibble 在生成或输入时不自动将字符型列转换为因子。
数据框内容访问
双中括号访问元素的内容
单中括号访问数据框子集。 t.bp2[[1]]
[1] 1 5 6 9 10 15t.bp2[1]
# A tibble: 6 × 1序号dbl
1 1
2 5
3 6
4 9
5 10
6 15
总结数据框和列表的访问
由于数据框是特殊的列表所以二者可以使用一套访问方法即
单中括号访问子集双中括号访问元素内容
参考
R语言入门与实践--冯凌秉译Rbook_PKU_李东风R语言编程-张敬信