R语言本身就是处理数据分析,以及数据可视化的。在数据分析中,对于数据的输入就尤为重要,今天我们就介绍数据在R中的输入。
R语言的数据输入包括两种:1. 是R自身带的编辑器;2. 外部输入数据。
# 数据的手动输入
#
mydata <- data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
# 两种方法编辑数据集
# edit要重新赋值
mydata = edit(mydata)
# 不需要重新赋值
fix(mydata)
主要是xlsx,csv和txt的数据(比较常用)
# 外部读入数据
mydataframe <- read.table(file, options)
file #是一个带分隔符的ASCII文本文件,options是控制如何处理数据的选项
header #一个表示文件是否在第一行包含了变量名的逻辑型变量
sep #分开数据值的分隔符。默认是 sep="",这表示了一个或多个空格、制表符、换行或回车。使用 sep=","来读取用逗号来分隔行内数据的文件,使用 sep="\t"来读取使用制表符来分割行内数据的文件
row.names #一个用于指定一个或多个行标记符的可选参数
col.names #如果数据文件的第一行不包括变量名 (header=FASLE) , 你可以用 col.names 去指定一个包含变量名的字符向量。 如果 header=FALSE 以及 col.names 选项被省略了, 变量会被分别命名为 V1、V2,以此类推
na.strings #可选的用于表示缺失值的字符向量。比如说,na.strings=c("-9", "?")把-9 和?值在读取数据的时候转换成 NA
colClasses #可选的分配到每一列的类向量。 比如说, colClasses=c("numeric", "numeric", "character", "NULL", "numeric")把前两列读取为数值型变量,把第三列读取为字符型向量,跳过第四列,把第五列读取为数值型向量。如果数据有多余五列,colClasses 的值会被循环。当你在读取大型文本文件的时候,加上 colClasses 选项可以可观地提升处理的速度
quote #用于对有特殊字符的字符串划定界限的自负床。默认值是双引号(")或单引号(')
skip #读取数据前跳过的行的数目。这个选项在跳过头注释的时候比较有用
stringsAsFactors #一个逻辑变量,标记处字符向量是否需要转化成因子。默认值是 TRUE,除非它被 colClases所覆盖。当你在处理大型文本文件的时候,设置成 stringsAsFactors=FALSE 可以提升处理速度
text #一个指定文字进行处理的字符串。如果 text 被设置了,file 应该被留空。
#示例----csv文件(read-table也可以读取txt,xlsx文件)
# studentgrades.csv 是一个5列的数据文件
stu_data = read.table("studentgrades.csv", header=TRUE, row.names="StudentID", sep=",",
colClasses=c("character", "character", "character", "numeric", "numeric"))
# 查看表中数据及数据的类型
str(stu_data)
其他格式文件的输入:
# SPSS 数据的导入
library(Hmisc)
mydataframe <- spss.get("mydata.sav", use.value.labels=TRUE)
# 导入SAS 数据
library(Hmisc)
datadir <- "C:/mydata"
sasexe <- "C:/Program Files/SASHome/SASFoundation/9.4/sas.exe"
mydata <- sas.get(libraryName=datadir, member="clients", sasprog=sasexe)
# libraryName是一个包含了SAS数据集的文件夹,member是数据集名字 ,sasprog是到SAS可运行程序的完整路径
#导入 Stata数据
# mydata.dta是Stata数据集文件
library(foreign)
mydataframe <- read.dta("mydata.dta")
# 导入 NetCDF 数据
# mynetCDFfile 是数据集文件
library(ncdf)
nc <- nc_open("mynetCDFfile")
myarray <- get.var.ncdf(nc, myvar)
为了使结果更易解读,数据分析人员通常会对数据集进行标注。这种标注包括为变量名添加描述性的标签,以及为类别型变量中的编码添加值标签。例如,对于变量age,你可能想附加一个描述更详细的标签“Age at hospitalization (in years)” (入院年龄) 。
xxxxxxxxxxxxxx
length(object) #显示对象中元素/成分的数量
dim(object) #显示某个对象的维度
str(object) #显示某个对象的结构
class(object) #显示某个对象的类或类型
mode(object) #显示某个对象的模式
names(object) #显示某对象中各成分的名称
c(object, object,...) #将对象合并入一个向量
cbind(object, object, ...) # 按列合并对象
rbind(object, object, ...) #按行合并对象
head(object) #列出某个对象的开始部分
tail(object) #列出某个对象的最后部分
ls() #显示当前的对象列表
rm(object, object, ...) #删除一个或更多个对象。语句 rm(list = ls())将删除当前工作环境中的几乎所有对象
newobject <- edit(object) #编辑对象并另存为 newobject
fix(object) #直接编辑对象