从磁盘读取数据到R
getwd()
setwd()
dir(),显示隐藏文件:dir(all.files=TRUE)
list.files(),
file.choose():选择需要载入的文件,需注意文件格式,否则会报错。不能在linux上使用
读入csv的格式如下:
data8 = scan(file.choose(),what='char',sep=',')
read.csv():搜索一个csv文件,并将其包含的数据读入R。file参数需要给出绝对路径。例:
read.csv(file,sep = ‘,’, header = TRUE,row.names)
read.csv(file,sep = ’,’, header = TRUE,row.names = F)
read.table(file.choose()):read.csv是read.table的特例
格式:read.table(file,header = FALSE, sep=””)
file:代表文件路径的字符串,可以是绝对路径或相对路径,绝对路径要把盘符带上
header:header为TRUE时,R会将文件第一行作为数据框的变量名
sep:separation的简称,表示文件中的分隔符,默认是空格
read.xls():在readxl包中,读取xls文件,需要安装perl环境
read_xls(path, sheet = NULL, range = NULL,col_names = TRUE,
col_types = NULL, na = "", trim_ws = TRUE, skip = 0, n_max =Inf,
guess_max = min(1000, n_max))
数据库连接:
odbcConnect(dsn,uid=””,pwd=””)
dsn:ODBC中要操作的数据库名字,用户需要将使用的数据库添加到ODBC中
uid:数据库用户名 pwd:该用户的密码
从R导出数据
write.table():
格式:write.table(x,file=””,append=FALSE,sep=””,row.names=TRUE,col.names=TRUE)
x:输出的数据; file:输出的数据文件路径 append:有同名文件时是覆盖还是添加在其后面;
sep:用于规定文件的分隔符,默认是空格; row.names和col.names 一个逻辑值为TRUE随变量输出,默认TRUE
write.csv(): 创建一个CSV文件
writeClipboard():导出数据到剪贴板以便黏贴到其它应用
writeClipboard(name(iris):导出内置数据集iris中的名称
另一写法:write.table(head(iris),file=’clipboard”,sep=”\t”,row.name=FALSE)
数据编辑:
edit():
with():有两个参数,一个是要编辑的数据,如列表或数据框,另一个是要执行的语句。返回语句执行结果
within():与with的区别是,返回修改后的数据
transform():返回修改后的变量,赋值需要使用“=”
变量命名:
names():对任意类型的对象进行命名,包括向量、矩阵、数组等。
dimnames():对矩阵或数组的维度进行命名
rownames()及colnames():对行和列进行命名。
subset():提取变量的一部分。
格式:subset(x,subset,select)
x:要操作的对象;
subset:一个逻辑表达式,R根据该逻辑表达式来判断要提取的元素;
select:指定要提取的列,适用于矩阵或数据框。
is.na():判断一个数据是否为缺失值
na.omit():将变量中所有的缺失值删除,并返回所有的非缺失值。一般用于处理数据框
数据整合
rbind():将两个矩阵或数据框按照行来拼接
cbind():将两个函数或矩阵按照列来拼接
merge():用于横向合并两个数据框,通过共有变量连接,若某个数据框中的一条记录在该变量的取值在另一个数据框中不存在,该记录就无法找到连接的对象,因此会被删掉。
格式:merge(x,y,by=… , by.x … ,by.y)
x和y:要合并的对象
by:指明两个数据框共有的变量
by.x和by.y:指明两个数据框里含有相同信息但名称不同的两个变量。
列联表:(Contingency Table) 处理属性数据时最常用的工具
table():参数为单个向量时,返回该向量的频数分布;传入参数为两个向量时,返回结果就是常见的列联表。
prop.talbe():将table()生成的列联表中的数据,由频数换成频率
ftable():生成标准格式的多维列联表。
格式:ftable(…,row.vars=NULL,col.vars=NULL)
resnape2包:
melt():将数据打散
melt(data,id.vars,measure.vars,variable.name=“variable”,value.name=”value”)
id.vars:一个向量,其元素为数据框中的一个或多个变量。这些变量用于唯一标记一条记录。melt会根据id.vars指定的变量将数据打散。
cast():将打散后的数据按照一定的格式重新组合起来
dcast(data,formula,fun.aggregate = NULL)
data:为一个melt()函数返回的结果
formula:重新组合的方式,形式为y~x,y规定了数据重组所依据的变量,而x则规定了重组后每条记录所拥有的变量
fun.aggregate:用于指定组合时对数据适用的函数。