r语言如何将sqlFetch写成循环

Python020

r语言如何将sqlFetch写成循环,第1张

我的建议是可能要大改整个程序:用一个list(比如叫data.list)把所有data frame或者之类的东西装起来,用的时候用data.list[[i]]来取出第i个data frame。用sqldf的时候,第一个和第三个可以用paste来写命令,第二个和第四个可能需要先用一个data frame(比如叫data)来暂时存储data.list里的一个data frame再操作sqldf。总的来说像这样(没怎么用过SQL,可能有问题):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dataold_list<-dataold.list<-datanew_list<-datanew.list<-vector("list",100)

for(i in 1:100){

dataold_list[[i]]<-sqldf(paste("select * from Dataold a,num",i," b

where a.LOAN_NO=b.LOAN_NO",sep=""))

dataold_list[[i]]<-dataold_list[[i]][,-1]

data<-dataold_list[[i]]

dataold.list[[i]]<-sqldf("select * from a,data b

where a.LOAN_NO=b.LOAN_NO")

datanew_list[[i]]<-sqldf(paste("select * from Datanew a,num",i," b

where a.LOAN_NO=b.LOAN_NO",sep=""))

datanew_list[[i]]<-dataold_list[[i]][,-1]

data<-datanew_list[[i]]

datanew.list[[i]]<-sqldf("select * from a,data b

where a.LOAN_NO=b.LOAN_NO")

R语言如何从外部读取数据到R中

R语言可以从键盘,文本,excel,access,数据库,专业处理软件sas

一、使用键盘的输入

mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))

mydata<-edit(mydata)

二、读入带有分隔符文本格式的数据

data<-read.table(文件,header=true/false,sep="delimeter",row.names=列名)

其中文件可以有很多选项的

file()gzfile(),bzfile(),等一些压缩文件以及url(http://,ftp://,smtp://)

例子:

默认的时候,字符串会自动使用factor转化为数值型

data<-read.table("student.csv",header=TRUE,sep=",",row.names="studentid",stringsAsFactors=FALSE)

三、将xls文件导入到R中

(1)将xls变成csv的格式导入

(2)在Windows系统中,你也可以使用RODBC包来访问Excel文件。

library(RODBC)

channel <- odbcConnectExcel("student.xls")

mydataframe<-sqlFetch(channel,"Sheet1")

odbcClose(channel)

四、抓取网页并且提取信息

五、导入spss数据

library(Hmisc)

mydata<-spss.get("mydata.sav",use.value.labels=TRUE)

六、导入SAS数据

将sas格式的数据转换为csv格式的数据 然后用read.table()形式导入

七、导入关系型数据库的数据

R中有多种面向关系型数据库管理系统(DBMS)的接口,包括Microsoft SQL Server、Microsoft Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata以及SQLite。其中一些包通过原生的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问的。

(1)使用ODBC的方式导入数据