【R语言】--- 各类数据的导入

Python016

【R语言】--- 各类数据的导入,第1张

通常情况下,我们会在excel中对数据进行预处理,然后将处理好的数据导入R中进行分析、作图。但随着数据源和数据格式的多样化,将多种数据源和数据格式导入R中进行分析、作图显得尤为必要,因为这对于数据分析、作图是最基础的。

R可导入键盘(利用键盘输入)、文本文件、excel、access、spss、sas等各类数据格式。

利用R中的edit()函数手动输入数据的文本编辑器:

(1)创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致;

(2)针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。

函数edit()事实上是在对象的一个副本上进行操作的。若不将其赋值到一个目标,则所有修改将会全部丢失!

用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。

参数sep允许你导入那些使用逗号以外的符号来分隔行内数据的文件。你可以使用sep="\t"读取以制表符分隔的文件。此参数的默认值为sep="",即表示分隔符可为一个或多个空格、制表符、换行符或回车符。

我习惯用readxl包的read_excel()函数进行导入:

SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc包中的spss.get()函数。

use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子。

R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd()和Hmisc包中的sas.get()。这里我们使用sas7bdat包的read.sas7bdat()函数进行导入sas数据。

Robert I. Kabacoff (著). R语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.

w<-seq(1:10)

a<-matrix(w,nrow=5,ncol=2,byrow=T,dimnames=list(paste0("r",1:5),paste0("1",1:2)))#给行和列设置名称

cbind更宽rbind更长

my.dataset<-data.frame(site=c("A","B","A","A","A"),

season=c("winter","summer","summer","spring","fall"),

pH=c(7.4,6.3,8.6,7.2,8.9))

names(my.dateset)#读取数据框的列名

setwd("E://dataming")#设置工作路径

getwd()#获取工作路径

import.txt<-read.table("iris.txt",header = TRUE)  #读入iris.txt文件

import.csv<-read.table("iris.csv",header = TRUE,sep = ",")  #读入iris.csv文件

import.csv<-read.csv("iris.csv")  #读入iris.csv文件

unstructuredText <- readLines("unstructuredText.txt")#读入非结构化数据

#Excel文件的导入

#利用RODBC包读入(须配置odbc)

library(RODBC)

channel<-odbcConnectExcel2007("sample.xlsx")#建立连接

odbcdf<-sqlFetch(channel,'data')#读取工作表data的数据

odbcClose(channel)#关闭连接

#利用xlsx包读取Excel数据(需配置java)

library(xlsx)

res <- read.xlsx('sample.xlsx',1)

detach(package:xlsx)

#访问网络数据

salary_data <- read.csv("http://www.justinmrao.com/salary_data.csv")。

扩展资料

rnorm(16)#产生16个服从正态分布的随机数:

rnorm(100,3,4)#产生100个均值是3,标准差为4的随机数。

*dnorm(x,mean=0,sd=1,log=FALSE)的返回值是正态分布概率密度函数值,比如dnorm(z)则表示:标准正态分布密度函数f(x)在x=z处的函数值。

pnorm(q,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)返回值是正态分布的分布函数值,比如pnorm(z)等价于P[X≤z]。

qnorm(p,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)的返回值是给定概率p后的下分位点.。

rnorm(n,mean=0,sd=1)的返回值是n个正态分布随机数构成的向量。*

矩阵的特征值与特征向量

矩阵A的谱分解为A=UΛU’,其中Λ是由A的特征值组成的对角矩阵,U的列为A的特征值对应的特征向量,在R中可以用函数eigen()函数得到U和Λ,

eigen(x,symmetric,only.values=FALSE,EISPACK=FALSE)

其中:x为矩阵,symmetric项指定矩阵x是否为对称矩阵,若不指定,系统将自动检测x是否为对称矩阵。

>matrix(1:9,3,3,T)

[,1] [,2] [,3]

[1,]123

[2,]456

[3,]789

matrix是定义矩阵的函数,1:9表示1-9连续9个数,第一个3表示3行,第二个3表示3列,T表示转置,TRUE的缩写

运行第一行,后面那是enter后的,有问题可以互相交流