主要学习如何把几种常用的数据格式导入到R中进行处理,并简单介绍如何把R中的数据保存为R数据格式和csv文件。

1、保存和加载R的数据(与R.data的交互:save()函数和load()函数)
a <- 1:10
save(a, file = "data/dumData.Rdata") # data文件为当前工作目录下的文件,必须存在
rm(a)
load("data/dumData.Rdata")
print(a)

2、导入和加载.csv文件(write.csv()函数和read.csv()函数)
var1 <- 1:5
var2 <- (1:5) / 10
var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")
a <- data.frame(var1, var2, var3)
names(a) <- c("VariableInt", "VariableReal", "VariableChar")
write.csv(a, "data/dummmyData.csv", row.names = FALSE)
b <- read.csv("data/dummmyData.csv")

3、导入SPSS/SAS/Matlab等数据集
# 导入spss的sav格式数据则要用到foreign扩展包,加载后直接用read.spss读取sav文件
library(foreign)
mydata=read.spss('d:/test.sav')
# 上面的函数在很多情况下没能将sav文件中的附加信息导进来,例如数据的label,
# 那么建议用Hmisc扩展包的spss.get函数,效果会更好一些。
library(Hmisc)
data=spss.get("D:/test.sav")

导入时候,如果报了这样的错误:
Unrecognized record type 7, subtype 24 encountered in system file
可以使用下面的这个包:
library(memisc)
data<-as.data.set(spss.system.file("D:/test.sav"))

4、导入数据库中的数据
library(RODBC)
Connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")
Query <- "SELECT * FROM lib.table WHERE ..."
# Query <- readChar("data/myQuery.sql", nchars=99999) 或者选择从SQL文件中读入语句
myData <- sqlQuery(Connection, Query, errors=TRUE)
odbcCloseAll()

5、导入Excel数据
library(RODBC)
channel=odbcConnectExcel("d:/test.xls")
mydata=sqlFetch(channel,'Sheet1') # 如果是Excel2007格式数据则要换一个函数odbcConnectExcel2007

检索:write.table write.csv区别  不写入行名  row.names  不写入列名  col.names

> write.table(x,file="mydata",row.names=FALSE,col.names=FALSE)  #可以
> write.csv(x,file="mydata2",row.names=FALSE,col.names=FALSE)  #不可以
 

1. 首先用getwd() 获得当前目录,用setwd("C:/data")设定当前目录:

2.0 数据保存:创建数据框d:

>d <- data.frame(obs = c(1, 2, 3), treat = c("A", "B", "A"), weight = c(2.3, NA, 9))

2.1 保存为简单文本:

>write.table(d, file = "c:/data/foo.txt", row.names = F, quote = F)

2.2 保存为逗号分割文本:

>write.csv(d, file = "c:/data/foo.csv", row.names = F, quote = F)

2.3 保存为R格式文件:

>save(d, file = "c:/data/foo.Rdata")

2.4 保存工作空间镜像:

>save.image( ) = save(list =ls(all=TRUE), file=".RData")

3.0 数据读取:读取函数主要有:read.table( ), scan( ) ,read.fwf( ).

3.1 用 read.table( ) 读 "c:\data” 下houses.dat:

>setwd("C:/data"); HousePrice <- read.table(file="houses.dat")

如果明确数据第一行做表头,则使用header选项:

>HousePrice <- read.table("houses.dat", header=TRUE)

read.table( ) 变形有: aread.csv( ),read.csv2( ), read.delim( ), read.delim2( ).前两读取逗号分割数据,后两个读取其他分割符数据。

3.2  用scan( ) 比read.table( ) 更灵活。但要指定 变量类型:如:C:\data\data.dat:

M 65 168

M 70 172

F 54 156

F 58 163

>mydata <- scan("data.dat", what = list("", 0, 0))

>mydata <- scan("data.dat", what = list(Sex="", Weight=0, Height=0))

3.3 用read.fwf( )读取文件中一些固定宽度数据:如:C:\data\data.txt:

A1.501.2

A1.551.3

B1.601.4

>mydata <- read.fwf("data.txt", widths=c(1, 4, 3), col.names=c("X","Y","Z"))

4.0 excel格式数据读取:

4.1 利用剪切板:选择excel数据,再用(CTRL+C)复制。在R中键入命令:

>mydata <- read.delim("clipboard")

4.2 使用程序包 RODBC.如: c:\data\body.xls

Sex Weight Height

M 65 168

M 70 172

F 54 156

F 58 163

> library(RODBC)

> z <- odbcConnectExcel("c:/data/body.xls")

> foo <- sqlFetch(z, "Sheet1")

> close(z)

R语言:读取数据的更多相关文章

  1. R语言进行数据预处理wranging

    R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with R packages:tidyr dplyr Ground rules ...

  2. R语言进行数据预处理

    R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with Rpackages:tidyr dplyr Ground rules l ...

  3. SQL中CRUD C——create 添加数据 R——read 读取数据 U——update 修改数据 D——delete 删除数据

    在SQL server中对数据库的操作: 删除表:drop table 表名修改表:alter table 表名 添加列add 列名 列类型alter table 表名 drop column 列名 ...

  4. R语言 我要如何开始R语言_数据分析师

    R语言 我要如何开始R语言_数据分析师 我要如何开始R语言? 很多时候,我们的老板跟我们说,这个东西你用R语言去算吧,Oh,My god!什么是R语言?我要怎么开始呢? 其实回答这个问题很简单,首先, ...

  5. 用R语言提取数据框中日期对应年份(列表转矩阵)

    用R语言提取数据框中日期对应年份(列表转矩阵) 在数据处理中常会遇到要对数据框中的时间做聚类处理,如从"%m/%d/%Y"中提取年份. 对应操作为:拆分成列表——列表转矩阵——利用 ...

  6. R语言读写数据

    R语言读写数据 一般做模型的时候,从外部的excel中读入数据,我现在常用的比较多的是read_csv(file) 读入之前先把excel数据转化成.csv格式 同样的把结果输出来的时候用的是writ ...

  7. R语言读取文件

    1.R语言读取文件,文件类型为.txt 直接使用read.table()即可,若不知道当前的工作目录,可以使用函数getwd()来查看 2.R语言读取文件,文件类型为.xlsx 方法一:可以把excl ...

  8. R语言外部数据读取

    0  引言 使用R语言.Python等进行数据处理的第一步就是要导入数据(也可以使用UCI数据集),下文主要根据R语言的帮助文档来介绍外部文件数据的导入方法和注意事项.下面先附上一些指令. 1 格式r ...

  9. R语言读取matlab中数据

    1. 在matlab中将数据保存到*.mat 文件夹 save("data.mat","data","label")#将data和label ...

  10. R语言读取Hive数据表

    R通过RJDBC包连接Hive 目前Hive集群是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux ...

随机推荐

  1. java FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字就乱码.记录下,后面找到解决方法再补上. public static void main(String[] args ...

  2. Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常

    使用 RecyclerView 的时候报错 java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view hold ...

  3. 求最大连续和——dp

    输入一组整数,求出这组数字子序列和中最大值.也就是仅仅要求出最大子序列的和,不必求出最大的那个序列. 比如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20. 序列:-6 2 4 -7 ...

  4. CodeSign error: code signing is required for product type Application in SDK iOS XXX的解决办法

    转自:http://www.tuicool.com/articles/jYRNbm 在真机测试的时候往往会突然出现这样一个错误,code signing is required for product ...

  5. python实现tail -f功能

    这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化, ...

  6. C++ STL set和multiset的使用

    C++ STL set和multiset的使用 std::set<int> s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具.) 1,set的含义是 ...

  7. [Windows Azure] How to use the Windows Azure Blob Storage Service in .NET

    How to use the Windows Azure Blob Storage Service in .NET version 1.7 version 2.0 This guide will de ...

  8. (原创)composite模式和bridge模式是天生的好朋友

    composite模式的意图是:将对象组合成树形结构以表示“部分-整体”的层次结构.composite使得用户对单个对象和组合对象的使用具有一致性.它的类图如下: composite模式的实现分为透明 ...

  9. iOS按钮的基本使用代码优化

    将图片按钮进行连线, 声明方法同时连接六个按钮 -(void)move:(UIButton *)btn{ //    NSLog(@"看见一个美女"); //头尾式动画 //0.开 ...

  10. Kafka: Producer (0.10.0.0)

    转自:http://www.cnblogs.com/f1194361820/p/6048429.html 通过前面的架构简述,知道了Producer是用来产生消息记录,并将消息以异步的方式发送给指定的 ...