当前位置: 首页 > article >正文

R语言 | 数据框

目录

一、认识数据框

7.1 建立第一个数据框

7.2 验证与设定数据框的列名和行名

 二、认识数据框的结构

 三、获取数据框内容

3.1 一般获取

3.2 特殊字符$

3.3 再看取得的数据

 四、使用rbind()函数增加数据框的行数据

 五、使用cbind()函数增加数据框的列数据

5.1 使用$符号

5.2 一次增加多列数据

 六、再谈转置函数t()


一、认识数据框

数据框是一系列的列向量所组成的,我们可以将它视为矩阵的扩充。对单独的向量与矩阵而言,它们的元素必须相同,但对数据框而言,不同列的向量的元素类别可以不同。数据框还有其他特色如下:

(1)每个列皆有一个名称,如果没有设置,R语言默认该列的名称是V1、V2……,可使用names()和colname(0函数查询或设定数据框列的名称。

(2)每一个行也要有一个名称,R语言默认该行的名称是“1” “2” ……,相当于数字编号,但这些数字是字符串类型,可使用row.naems()函数查询或设定行的名称。

7.1 建立第一个数据框

data.frame()函数,可将多个向量组成是数据框。

7.2 验证与设定数据框的列名和行名

可使用names()和colnames()函数查询或设定数据框列的名称。

 二、认识数据框的结构

如果使用str()函数,了解数据框的结构时,会发现一个问题。 mit.Name(现已改成Name)和mit.Gender(现已改成Gender)分明是字符串向量,但在建立数据框时却成了因子变量。在使用data.frame()函数建立数据框时,可以增加参数“stringsAsFactors=FALSE"。

但我的运行结果却是这样子的:

 三、获取数据框内容

3.1 一般获取

若想要获取数据框的值,可以将数据框当作矩阵处理。

 

3.2 特殊字符$

再看一下mit.Newinfo数据框:

 可以看到每个列名前面皆有"$"符号,这个符号主要是为了方便读取数据框的列名内的数据。

3.3 再看取得的数据

对于对象X而言,当使用X[,n]时,是取得对象X的第n列,所获得的结果是一个向量。如果使用X[n]方式可取得X对象的第n列,则返回的是数据框。如果使用X[-n]方式,则表示取得X对象的除第n列以外的数据,所返回的数据也是数据框。

 四、使用rbind()函数增加数据框的行数据

 如果想要一次增加多笔数据,可以先将这些行数据组合成一个数据框,然后再使用rbind()函数将两个数据框组合即可。

特别需要注意的是,所建数据框的列名必须与想要合并组合的数据框相同,然后使用rbind()函数将两个数据框组合,即可得到想要的结果。当然也可以直接使用索引值增加数据框的行数据。

 五、使用cbind()函数增加数据框的列数据

5.1 使用$符号

为mit.info对象增加Weight列数据,数据分别为65,71,58,55。

5.2 一次增加多列数据

碰上需要一次加多列数据的情况,最简单的方法是为要增加的列数据建立数据框,最后再使用cbind()函数,将两个数据框组合。

 六、再谈转置函数t()

如果我们想要将矩阵对象转换为数据框,可以依照下列两个步骤进行操作。

(1)使用t()函数,将行向量组成的矩阵转换成向量格式。

(2)正式转成数据框。 


http://www.kler.cn/news/16411.html

相关文章:

  • MySQL数据库——MySQL修改视图(ALTER VIEW)
  • vim 常用操作(vimtutor阅读笔记)
  • 移动宽带安装说明一(刘欣)
  • 【第十一届泰迪杯B题】产品订单的数据分析与需求预测
  • Netty小白入门教程
  • tensorflow中Keras ---图像预处理----tf.keras.preprocessing.image.ImageDataGenerator 类
  • P1915 [NOI2010] 成长快乐
  • 三元操作 三元操作符 if-else / ? :
  • 进程控制下篇
  • [LeetCode]1033. 移动石子直到连续
  • 《基于光电容积法和机器学习的冠状动脉疾病患者出血风险预测》阅读笔记
  • 【Python2.x与Python3.x的区别】
  • 进程相关(创建-回收-exec-守护进程)
  • 【华为OD机试 2023最新 】任务总执行时长(C语言题解 100%)
  • BPMN2.0 任务-服务任务
  • LVS负载均衡集群--DR模式
  • Chapter1:控制系统数学模型(下)
  • LC-1033. 移动石子直到连续(分类讨论)
  • Ubuntu搜狗输入法安装指南
  • Redis入门指南:深入了解这款高性能缓存数据库
  • MySQL示例数据库(MySQL Sample Databases) 之 Employees 数据库
  • [AION]我眼中的《永恒之塔私服》
  • 【拓扑排序】课程表系列
  • 基于SpringBoot的冬奥会科普平台
  • Python进阶项目--只因博客(bootstrap+flask+mysql)
  • Threejs进阶之十二:Threejs与Tween.js结合创建动画
  • 【001-Java基础练习】-适合初学者的练习
  • SPSS如何制作基本统计分析报表之案例实训?
  • 青少年软件编程(C语言) 等级考试试卷(五级)2021年12月
  • 【MySQL入门指南】外键约束使用详解