R语言数据的导入与导出

时间:2023-01-10 23:37:06

1.R数据的保存与加载

可通过save()函数保存为.Rdata文件,通过load()函数将数据加载到R中。

  1. > a <- 1:10
  2. > save(a,file='d://data//dumData.Rdata')
  3. > rm(a)   #将对象a从R中删除
  4. > load('d://data//dumData.Rdata')
  5. > print(a)
  6. [1]  1  2  3  4  5  6  7  8  9 10

2.CSV文件的导入与导出

下面创建df1的数据框,通过函数write.csv()保存为一个.csv文件,然后通过read.csv()将df1加载到数据框df2中。

  1. > var1 <- 1:5
  2. > var2 <- (1:5)/10
  3. > var3 <- c("R and","Data Mining","Examples","Case","Studies")
  4. > df1 <- data.frame(var1,var2,var3)
  5. > names(df1) <- c("VariableInt","VariableReal","VariableChar")
  6. > write.csv(df1,"d://data//dummmyData.csv",row.names = FALSE)
  7. > df2 <- read.csv("d://data//dummmyData.csv")
  8. > print(df2)
  9. VariableInt VariableReal VariableChar
  10. 1           1          0.1        R and
  11. 2           2          0.2  Data Mining
  12. 3           3          0.3     Examples
  13. 4           4          0.4         Case
  14. 5           5          0.5      Studies

3.通过ODBC导入与导出数据

RODBC提供了ODBC数据库的连接。

3.1从数据库中读取数据

odbcConnect()建立一个数据库连接,sqlQuery()向数据库发送一个SQL查询,odbcClose()关闭数据库连接。

  1. library(RODBC)
  2. connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")
  3. query <- "SELECT * FROM lib.table WHERE ..."
  4. # or read query from file
  5. # query <- readChar("data/myQuery.sql", nchars=99999)
  6. myData <- sqlQuery(connection, query, errors = TRUE)
  7. odbcClose(connection)

sqlSave()和sqlUpdate()用于写入或更新一个ODBC数据库表。

R语言数据储存与读取

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

数据保存

创建数据框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) # 空格分隔

>write.table(d, file = "c:/data/foo.txt", row.names = F, quote = F, sep="\t")  # tab 分隔的文件

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")

数据读取

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

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( ) 变形有: read.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"))

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)

To an Excel Spreadsheet 保存为Excel文件:

library(xlsx)    #   注意: 软件包需要安装
write.xlsx(mydata, "c:/mydata.xlsx") #   参考: https://danganothererror.wordpress.com/2012/02/12/write-data-frame-to-excel-file/

The WriteXLS function from the WriteXLS package (link: http://cran.r-project.org/web/packages/WriteXLS/index.html) can write data to Excel.

Alternatively, write.xlsx from the xlsx package (link: http://cran.r-project.org/web/packages/xlsx/) will also work.

注意:

1 writeLines 会在最后一行/或者每行末尾加一个换行符

# fileConn<-file(output_fasta)
# writeLines(mystr, fileConn)
# close(fileConn)

2 另外一个写文件的方法是sink,不会在行末加换行符

sink(output_fasta)
cat(mystr)
sink()

write is a wrapper for cat, which gives further details on the format used.

save for writing any R objects, write.table for data frames, and scan for reading data.

 

R语言数据的导入与导出的更多相关文章

  1. Matlab文件和数据的导入与导出

    ref: https://blog.csdn.net/zengzeyu/article/details/72530596 Matlab文件和数据的导入与导出 2017年05月19日 15:18:35  ...

  2. R语言数据接口

    R语言数据接口 R语言处理的数据一般从外部导入,因此需要数据接口来读取各种格式化的数据 CSV # 获得data是一个数据帧 data = read.csv("input.csv" ...

  3. 基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

    在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能给系统用户更好的操作体验,也提高了用户录入数据的效率.我在较早时期的EasyUI的Web框架上, ...

  4. 基于MVC4&plus;EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

    数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,我曾经在之前的一篇文章<Winform开发框架之通用数据导入导出操作>介绍了在Winform ...

  5. Oracle 数据的导入和导出(SID service&period;msc)

    一:版本号说明: (1)(Oracle11  32位系统)Oracle - OraDb11g_home1: (2)成功安装后显演示样例如以下:第一个图是管理工具.创建连接.创建表:第二个是数据库创建工 ...

  6. (转)基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

    http://www.cnblogs.com/wuhuacong/p/4777720.html 在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能 ...

  7. R语言 数据重塑

    R语言数据重塑 R语言中的数据重塑是关于改变数据被组织成行和列的方式. 大多数时间R语言中的数据处理是通过将输入数据作为数据帧来完成的. 很容易从数据帧的行和列中提取数据,但是在某些情况下,我们需要的 ...

  8. R语言数据预处理

    R语言数据预处理 一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date ...

  9. 最棒的7种R语言数据可视化

    最棒的7种R语言数据可视化 随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在 ...

随机推荐

  1. 21 数据库编程 - 《Python 核心编程》

  2. Netty4&period;x中文教程系列(二) – 白话概念

    "Hello World"的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什.方便自己以后更灵活的使用和扩展.   声明, ...

  3. C语言--位运算符

    一.位运算符 1.按位与:& 1> 功能 * 只有对应的两个二进制位为1时,结果位才为1,否则为0 * 举例:10用二进制表示为1010,  7用二进制表示为0111.对两个数值进行&a ...

  4. python基础操作&lowbar;文件读写操作

    #文件读写# r只能读不能写,且文件必须存在,w只能写不能读,a只能写不能读# w+是写读模式,清空原文件内容# r+是读写模式,没有清空原文件内容,# 只要有r,文件必须存在,只要有w,都会清空原文 ...

  5. bzoj1069 &lbrack;SCOI2007&rsqb;最大土地面积 旋转卡壳

    1069: [SCOI2007]最大土地面积 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 3767  Solved: 1501[Submit][Sta ...

  6. MySQL查询执行的基础——查询优化处理

    查询的生命周期的下一步是将一个SQL转换成一个可执行计划,MySQL再按照这个计划和存储引擎进行交互 语法解析器和预处理 首先,MySQL通过关键词将SQL语句进行解析,并生成一颗对应的"解 ...

  7. django做redis缓存

    django中应用redis:pip3 install django-redis - 配置 CACHES = { "default": { "BACKEND": ...

  8. SQL Server 2008 清空删除日志文件 130G日志 10秒内变10M

    SQL2005: Backup Log DNName with no_log  '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了. go dump transact ...

  9. 详解html中的元老级元素:&OpenCurlyDoubleQuote;table”

    table标签历史悠久,在互联网出现的早期,web网页的排版主要是靠table表格,对web网页做出了不可磨灭的贡献,直到后来层叠样式表:CSS的发展完善,再配合空元素DIV,才有了今天绚丽多彩的网页 ...

  10. jmap -histo pid 输出的&lbrack;C &lbrack;B &lbrack;I &lbrack;S methodKlass的含义

    转载于https://yq.aliyun.com/articles/43542 摘要: jmap -histo pid 输出结果样式  num     #instances         #byte ...