[笔记]-R语言学习

第一讲1 R介绍(没啥)

为什么使用R

  • TB级数据的出现
  • 数据产业的蓬勃发展
  • 数据分析科学的快速发展
  • 多源数据的快速融合
  • R是为统计计算和绘图而生的语言和环境
    是一套开源的数据分析解决方案

R的特性

  • 免费的
  • 一个全面的统计研究平台
  • 拥有顶尖水准的制图功能
  • 一个可进行交互式数据分析和探索的强大平台
  • 轻松地从各种类型的数据源导入数据,包括文本文件、数据库管 理系统、统计软件,乃至专门的数据仓库
  • 可运行于多种平台之上

获取

可以通过链接 https://www.r-project.org/ 免费获取

什么是包?

  • 包是R函数、数据、预编译代码以一种定义完善的格式组成的集 合
  • 计算机上存储包的目录称为库(library)
  • 函数.libPaths()能够显示库所在的位置, 函数library()则可以 显示库中有哪些包

第2讲:创建数据集 - 数据集的概念

  • 选择一种合适的数据结构来存储要研究的数据
  • 将数据输入或者导入到数据结构中

R的内置数据集

查看R中所有内置的数据集: data(package = .packages(all.available = TRUE))
• 查看指定包中的数据集: data(package =“package name”)
• 查看某个数据集的信息: Help函数 or ?

第3讲: 数据结构中的向量与矩阵

向量

看成数组就行了,,,

创建向量

  • 冒号方式创建
  • c函数创建
  • seq函数创建

具体的内容可以参考:https://www.jianshu.com/p/360243f5c338

矩阵

一个例子: a = matrix(1:12, nrow=4, dimnames = list(c("r1", "r2", "r3", "r4"), c("c1", "c2", "c3")))
表示的就是一个矩阵按列自动填入1到12,并且指定行列的名称, 结果为:

> a
   c1 c2 c3
r1  1  5  9
r2  2  6 10
r3  3  7 11
r4  4  8 12

矩阵定义的参数: matrix(data,nrow,ncol,byrow,dimnames)byrow 表示按行还是按列填充,true为按行。

至于访问和py中的访问方法类似吧,,

第4讲:数据结构中的数组和数据框、因子与列表,数据的输入与数据集的标注

数组

使用 array(data,dim,dimnames) 来创建数组,其中dim表示维数向量(就是每一位的长度),后一个参数表示每一维名称,生成数据时是按列填充。

数据框

可以将不同的数据类型组合在一起的数据结构,就是一个多个列竖着摆放在一起的矩阵,同一列的类型一致。

创建数据框

使用 data.frame 函数创建数据框 data.frame(col1,col2,col3,…) 列向量col1,col2,col3…表示存储在数据框中 各列的数据,每一列的名字可以由函数names指定

选取数据框的元素

  • 使用[ ],指定两个下标,类似矩阵的选取方法 p[2,][2]
  • 可以指定列名访问 p["id"]
  • 使用 $ 记号选取某个特定变量 p$id

attach() 和detach()

  • attach():将数据框添加到R的搜索路径中
  • detach(): 将数据框从搜索路径中移除

With()函数

  • 使R表达式位于数据框的作用环境中
  • 使用方法
  • 局限:赋值只在此函数的括号内生效 解决:使用”<<-”代替”<-”
with(mtcars,{
	summary(mpg)
	plot(mpg,disp) 
})

实例标识符

  • 用以区分数据集中不同的个体
  • 通过定义数据框时指定rowname选项指定实例 标识符
  • 设置方法 patientdata <-data.frame(patientID, age,diabetes, status, row.names=patientID)

因子

因子: 用于对数据进行分类并将其存储为级别的数据对象,可以是一个类别的集合,也可以是一个有序项目的集合

因子水平:因子型变量可以取得的所有值

创建因子

  • 使用函数factor()将原始表示类别的字符串映射到整数上 diabetes <- factor(diabetes)
  • 创建有序的因子型向量: status <- factor(status,ordered=TRUE)
  • 展示一个因子的所有水平 levels(status)

列表

  • 列表是可以包含多个不同数据元素的数据对象
  • 可以包含向量、矩阵、数据框,甚至是列表
  • 列表的各个元素称为列表项,列表项的数据类型可以不同,长度可以不同

创建列表

  • 使用list()函数创建列表 Mylist <- list(obj1,obj2,obj3,…)
  • 创建列表的同时指定每一个列表项的名称 Mylist <- list(name=obj1,name2 = obj2,…)

访问列表元素

  • 使用双重方括号
  • 指明代表某个成份的数字或名称 Mylist[[2]] Mylist[[“ages”]]
  • 使用一个方括号得到列表 Mylist[2]

数据的输入和数据集标注

从键盘输入数据

  • 使用edit()调出文本编辑器来进行数据的输入
  • 具体步骤:
    • 创建一个空数据框(或矩阵),其中变量名和变量的类型需与理想中 的最终数据集一致;
    • 针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回 此数据对象中

从带分隔符的文本文件中导入数据

  • 使用read.table() 导入数据 mydfr<-read.table(file.header=logical_value, sep="delimiter", row.names="name")
    • file: 带分隔符的ASCII文本文件
    • header: 表明首行是否包含了变量名
    • sep: 指定分隔数据的分隔符
    • row.names :可选,指定一个或多个表示行标识符的变量

使用RODBC包来访问后缀名为xls的Excel文件

install.packages("RODBC")
library(RODBC)
channel<-odbcConnectExcel("myfile.xls") 
mydataframe<-sqlFetch(channel,"mysheet") 
odbcClose(channel)

导入SPSS数据

  • 通过foreign包中的read.spss()函数导入到R中
  • 使用Hmisc包中的spss.get()函数导入

导入SAS数据

  • R对于SAS的较新版本支持的不好
  • 解决办法:在SAS中使用PROC EXPORT将SAS数据集保存为一 个逗号分隔的文本文件,然后将导出的文件读取到R中
SAS程序:
 proc export data=mydata 
 outfile="mydata.csv" 
 dbms=csv 
 run;
R程序: mydata<read.table("mydata.csv",header=TRUE,sep=",")

访问数据库管理系统

通过ODBC接口访问

数据集的标注

  • 添加变量标签: 将变量标签作为变量名,然后通过位置下标来访问这个变量 Names(patientdata)[2] <- "age in ...."
  • 添加值标签: 使用factor()函数 Patientdata$gender <- factor(Patientdata$gender, levels=c(1, 2), labels=c("m", "f")) levels 表示变量实际值, labels 表示包含值标签的字符型变量.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值