R语言之导入数据源(二)

来源:互联网 发布:跳跃网络有没有版权 编辑:程序博客网 时间:2024/06/14 00:18

4 导入XML数据

   R中有若干用于处理XML文件的包。例如,由Duncan Temple Lang编写的XML包允许用户读取、写入和操作XML文件。详情参阅

5 从网页抓取数据

   在web数据抓取(Webscraping)的过程中,用户从互联网上提取嵌入在网页中的信息,并将其保存为R中的数据结构以做进一步的分析。使用函数readLines()下载网页,然后使用如grep()和gsup()一类的函数处理它。对于结构复杂的网页,可以使用RCurl和XML包来提取其中想要的信息。详情参阅中的"Webscraping using readLines and RCurl"一文。

6 导入SPSS数据

   SPSS数据集可以通过foreign包中的函数read.spss()导入R中,也可以使用Hmisc包中的spss.get()函数。spss.get()函数是read.spss()的一个封装。代码:

> library(Hmisc)载入需要的程辑包:lattice载入需要的程辑包:survival载入需要的程辑包:Formula载入需要的程辑包:ggplot2载入程辑包:‘Hmisc’The following objects are masked from ‘package:base’:    format.pval, round.POSIXt, trunc.POSIXt, units> mydataframe<-spss.get("E:/SPSS案例数据/SPSS案例数据/激素水平.sav",use.value.labels=TRUE)Warning message:In read.spss(file, use.value.labels = use.value.labels, to.data.frame = to.data.frame,  :  <span style="color:#ff0000;">E:/SPSS案例数据/SPSS案例数据/激素水平.sav: Unrecognized record type 7, subtype 18 encountered in system file</span>> mydataframe    id  group gender age weisuo changhua  jisu age.cls     lnjisu Rjisu cons1  001 试验组     男  42   中度       无  0.18  青年组 -1.7147984  33.5    12  002 试验组     男  38   轻度     轻度  0.08  青年组 -2.5257286  19.0    13  003 试验组     男  45   中度     中度  0.05  青年组 -2.9957323   5.5    14  004 试验组     男  45   中度     轻度  0.43  青年组 -0.8439701  45.0    15  005 试验组     男  43   中度     中度  0.16  青年组 -1.8325815  31.5    16  006 试验组     女  44   重度     轻度  0.05  青年组 -2.9957323   5.5    17  007 试验组     男  45   轻度       无  0.07  青年组 -2.6592600  17.0    1
7 导入SAS数据

   R中设计了foreign包中的read.ssd()和Hmisc包中的sas.get()。但是,对SAS9.1或更高版本并不适用。

   两种解决方案:

 (1)将SAS数据集保存为一个逗号分隔的文本文件(.csv)再导入R中;

 (2)Stat/Transfer(商业软件)可将SAS数据集保存为R数据框。

8 导入Stata数据

   代码如下:

> library(foreign)> mydataframe<-read.dta("文件名(路径)")
9 访问数据库管理系统
   R中有多种面向关系型数据库管理系统(DBMS)的接口,包括SQL Server、Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata、以及SQLite。其中一些包通过原生的数据库驱动提供访问功能,另一些则是通过ODBC或JDBC来实现访问的。

 (1)ODBC接口

   第一步:针对你的系统和数据库类型安装和配置合适的ODBC驱动;

   第二步:在R中安装RODBC包。

   R中RODBC包中包含的函数有:


 RODBC包允许R和一个通过ODBC连接的SQL数据库之间进行双向通信。这意味着你不仅可以读取数据库中的数据到R中,同时也可以使用R修改数据库中的内容。

 要将某数据库中的表(Crime和Punishment)分别导入为R中的两个名为crimedat和pundat的数据框,代码如下:

> install.packages("RODBC")> library(RODBC)> myconn<-odbcConnect("orcl",uid="mydb",pwd="123456")> crimedat<-sqlFetch(myconn,STUDENT)> pundat<-sqlQuery(myconn,"select * from TIANCHI")> close(myconn)
"orcl"是数据源名称,"mydb"是用户名,"123456"是密码,连接字符串被传递给sqlFetch,它将表复制到R数据框crimedat中。

10 值标签

   函数factor()可为类别型变量创建之标签。假设有一个名为gender的变量,其中1表示男性,2表示女性。可以使用代码创建值标签。

> patientdata$gender<-factor(patientdata$gender,levels=c(1,2),labels=c("male","female"))
   其中levels代表变量的实际值,而labels表示包含了理想值标签的字符型向量。








   


0 0
原创粉丝点击