全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
5762 4
2015-01-26
悬赏 1 个论坛币 已解决
R语言中数据存储与读取常用write.table()和read.table(),这两个函数读取存储的都是数据框,我想问下,对于列表数据怎样读取和存储??求高手指点

最佳答案

狼莫vv 查看完整内容

检索:write.tablewrite.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 write.table(d, file = "c:/data/foo.txt", row.names = F,quote = F)2.2 保存为逗号分割文本: ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-1-26 16:52:57

检索:write.tablewrite.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)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-25 21:02:01
狼莫vv 发表于 2015-1-26 16:52
检索:write.tablewrite.csv区别  不写入行名  row.names  不写入列名  col.names> write.table(x,file="my ...
x谢谢,很详细
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

-->
谢谢LZ
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-4-18 13:47:46
非常详细,写的很好
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群