R

数据集[R]

Posted by Adobe on July 15, 2016 | - view

闲来无事,想起一年前好友推荐的《R语言实战》,决定好好再过一下重点章节。实践很重要,可以帮助一个人在短期内快速成长,但这种以项目为导向的操作模式到了一定程度,会有知识瓶颈,此时才发现知识体系建立的重要性。故此次重新翻阅此书的目的是:1.巩固R的基础概念 2.熟悉数据流操作的流程,重点放在数据集、字符串以及可视化方面,统计暂不做要求。


1 创建含有研究信息的数据集

  • 选择某种数据结构存储数据
  • 将数据输入或导入到以上数据结构中
  • 对数据集进行标注

2 不同行业对于数据集的行与列叫法不同

  • 统计学家:observation and variable
  • 数据库分析师:record and field
  • 数据挖掘研究者:example and attribute

3 数据结构 R的数据结构

  • 标量:只含一个元素的向量,用于保存常量;
  • 向量:用于存储数值型、字符型或逻辑型数据的一维数组。c()可创建向量;
  • 矩阵:为二维数组,每个元素具有相同模式,matrix()可创建矩阵;
  • 数组:与矩阵类似,维度可大于2,array()可创建数组,也只能拥有一种模式;
  • 数据框(data frame):可包含不同模式的数据,最常使用,通过data.frame()可创建数据框。每一列数据的模式必须唯一。选取数据框中元素的方式有多种,如下标、指定列名。可用attach(),detach(),with()简化代码。实例标识码( Case identifier )通过row.names指定。详见example 1

因子(Factor):名义变量和有序变量在R中称为因子。status <- factor(status, ordered=TRUE)

  • 列表:最为复杂,可为各种不同数据类型的有序组合,通过list()创建列表。使用[["X"]]可访问列表中的元素。
   #example 1
   jay<-data.frame(col1,col2,col3)
   summary(jay$col1)
   plot(jay$col1,jay$col2)
   # the same as
   attach(jay)
   summary(col1)
   plot(col1,col2)
   detach(jay)

4 数据的输入

  • 键盘输入edit()
  • 从带分隔符的文本文件导入数据read.table(file,header=TRUE,sep=",",row.names="PatientID"),默认情况下,字符型变量将转换为因子。
  • 导入EXCEL数据:可将其导出为csv,然后通过以上第二种方式将其导入R中,最为理想。
  • 导入SPSS数据:利用Hmisc包的spss.get函数

5 处理数据对象的实用函数

length(object) 显示对象中元素/成分的数量
dim(object) 显示某个对象的维度
str(object) 显示某个对象的结构
class(object) 显示某个对象的类或类型
mode(object) 显示某个对象的模式
names(object) 显示某对象中各成分的名称
c(object, object,) 将对象合并入一个向量
cbind(object, object, ) 按列合并对象
rbind(object, object, ) 按行合并对象
Object 输出某个对象
head(object) 列出某个对象的开始部分
tail(object) 列出某个对象的最后部分
ls() 显示当前的对象列表
rm(object, object, ) 删除一个或更多个对象
newobject <- edit(object) 编辑对象并另存为newobject
fix(object) 直接编辑对象