上一篇中我们一起学习了R语言的数据结构第一部分:向量、数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框、因子和列表。

一、数据框

类似于二维数组,但不同的列可以有不同的数据类型(每一列内的数据类型应当一致)。创建数据框使用的关键字是data.frame,用法是:

data.frame(..., row.names = NULL, check.rows = FALSE,

check.names = TRUE, fix.empty.names = TRUE,

stringsAsFactors = default.stringsAsFactors())

例如一个简单的学生成绩表如下:

可以使用如下格式访问:

二、因子

因子可用于对一个向量分类或分组,其关键字是factor,用法是:

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

例如对姓氏分组:

三、列表

列表可以是若干向量、数组、矩阵、数据框等的组合,创建列表使用的关键字是list,例如:

可通过如下方式访问列表:

四、总结

  • 向量:一维数组,关键字c,数据类型必须一致。
  • 数组:维度可以大于2,关键字array,所有数据类型必须一致。
  • 矩阵:二维数组,关键字matrix,所有数据类型必须一致。
  • 数据框:类似于二维数组,关键字data.frame,不同的列可以有不同的数据类型,但每一列内的数据类型应当一致。
  • 列表:可以是若干向量、数组、矩阵、数据框等的组合,关键字list。

在下一篇中我们一起来看一下R语言的条件控制和循环。

作者: bigdata大数据

出处: http://www.cnblogs.com/bigdata01/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接。 如有问题, 可 邮件 咨询。

从零开始系列-R语言基础学习笔记之二 数据结构(二)的更多相关文章

  1. 从零开始系列--R语言基础学习笔记之一 环境搭建

    R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...

  2. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  3. R语言的学习笔记 (持续更新.....)

    1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...

  4. R语言可视化学习笔记之添加p-value和显著性标记--转载

    https://www.jianshu.com/p/b7274afff14f?from=timeline #先加载包 library(ggpubr) #加载数据集ToothGrowth data(&q ...

  5. R语言可视化学习笔记之ggpubr包—SCI文章图

    转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...

  6. R语言入门学习笔记 - 对R软件的认识

    一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...

  7. php语言基础学习笔记

    花了一个小时复习了一下很多年没有碰了的php,mark一下,高二时学的. 1. 代码嵌在<?php  ?>内 2.输出函数echo,相当于js中的document.write 3.可以在打 ...

  8. 吴裕雄--天生自然 R语言开发学习:数据集和数据结构

    数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...

  9. 吴裕雄--天生自然 R语言开发学习:时间序列(续二)

    #-----------------------------------------# # R in Action (2nd ed): Chapter 15 # # Time series # # r ...

随机推荐

  1. js点击空白处弹窗消失

    $(document).mousedown(function(e){ var _list = $('#pop'); if(!_list.is(e.target) && _list.ha ...

  2. VLOOKUP

    vlookup(查找目标,查找范围, 返回值的列数,精确或模糊查找) 1. 查找目标:查找的内容或者单元格引用. 2. 查找范围: 选定一个查找区域. 注意一: 查找目标一定要在该区域的第一列. 注意 ...

  3. NoSuchMethodError

    http://www.tuicool.com/articles/iIVbuuZ 有些服务器是指定某个目录下的所有jar包,这样如果同时存在不同版本的jar包,也会引起这个问题,算一个检查点

  4. Swiper 中文API手册(share)

    本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...

  5. javascript数组 去重

    数组去重的方法有很多,到底哪种是最理想的,自己不清楚.于是自己测试了下数组去重的效果和性能.测试十万个数据,代码和所耗大概时间如下. 到底采用哪种方法,根据实际情况而定吧. /*方法一: 1,'1' ...

  6. 廖雪峰Python教程疑问

    1. 字符串的strip()方法 原文: “把一个序列中的空字符串删掉,可以这么写: def not_empty(s): return s and s.strip() list(filter(not_ ...

  7. iOS中的extern与static

    1.extern #import <Foundation/Foundation.h> extern NSString *DBDefaultName; @interface DataBase ...

  8. 使用SAXReader读取ftp服务器上的xml文件(原创)

    根据项目需求,需要监测ftp服务器上的文件变化情况,并将新添加的文件读入项目系统(不需要下载). spring配置定时任务就不多说了,需要注意的一点就是,现在的项目很多都是通过maven构建的,分好多 ...

  9. JSP学习流程

  10. 使用js创建对象

    1.js创建关键字 //使用 New 关键字 function person(name,age){ this.name=name; this.age=age; } $(function(){ var ...