列表
R 的 列 表(list)是 一 个 以 对 象 组 成 的 有 序 集 合 构 成 的 对 象。这话实在是有些绕口,之所以用这么,是因为上文漏掉了一个概念,对象。R中的所有东西都是对象,所以对象是覆盖范围最广的概念。用一个覆盖范围最广的东西构成集合,说明,列表可 以 同 时 包 括 数 值 向 量,逻 辑 向 量,矩阵,复向量,字符 数组,函数等等
建立一个列表
列 表 中 包 含 的 对 象 又 称 为 它 的 分 量,建立列表很容易,使用list()函数就好,用逗号隔开不同的分量。
list<-list(fenliang1="XXX",fenliang2="xxx")
list[1]与list[[1]]
分 量 常 常 会 被 编 号 的(numbered),并 且 可 以 利 用 这 种 编 号 来 访 问 分 量。这不是难点,重要的是区分上面两个的区别。
我们先试试:
list[1]
它显示:
> list[1]
$fenliang1
[1] "XXX
再试试list[[1]]
> list[[1]]
[1] "XXX"
看都区别了吗?你在自己试试,就能知道它们的区别。
另外我们用$符号选择分量,这很简单比如list$fenliang1
2数据框
关于数据框,要知道的只有一点,它是个列表。是 一 个 属 于”data.frame” 类 的 列 表。不过对其中的分量做了限制:
• 分量 必 须是 向量 (数值, 字符, 逻辑),因子,数值矩 阵,列表 或 者 其 他 数 据 框;
• 矩 阵,列 表 和 数 据 框 为 新 的 数 据 框 提 供 了 尽 可 能 多 的 变 量,因 为 它 们 各 自 拥 有 列,元 素 或 者
变量;
• 数 值 向 量,逻 辑 值,因 子 保 持 原 有 格 式,而 字 符 向 量 会 被 强 制 转 换 成 因 子 并 且 它 的 水 平 就 是
向量 中 出现 的独 立值;
• 在数 据 框中 以变 量形式出现的向量结构必须长 度 一 致,矩阵 结 构 必 须 有 一 样 的 行 数.
先别管上面的,建立一个数据框,使用data.frame()函数
mingzi<-c("张三","李四","牛七")
fenshu<-c(24,68,99)
renpin<-c("坏","坏","坏")
sanren<-data.frame(mingzi=mingzi,fenshu=fenshu,renpin=renpin)
sanren
mingzi fenshu renpin
1 张三 24 坏
2 李四 68 坏
3 牛七 99 坏
另外,你可以自己探索下edit()函数,比如edit(sanren)