找回密码
 注册
查看: 3011|回复: 2

R语言对如其他格式文件 例子说明

  [复制链接]
发表于 2011-11-6 18:56:57 | 显示全部楼层 |阅读模式

在应用统计学中,数据量一般是比较大的,变量也很多。如果用上述方法来建立数据集,好像辛苦了一些。上述方法适用于少量数据、少量变量的分析。对于大量数据和变量,一般应在其他软件中输好,再读R中处理。



1、 读入输好的纯文本文件

若数据已经输入一个纯文本文件“c:/test.txt”。其格式如下:

   Price    Floor     Area   Rooms     Age  Cent.heat
01   52.00    111.0      830     5       6.2      no
02   54.75    128.0      710     5       7.5      no
03   57.50    101.0     1000     5       4.2      no
04   57.50    131.0      690     6       8.8      no
05   59.75     93.0      900     5       1.9     yes

其中第一行为变量名,第一列为记录序号。

则利用read.table( )函数可读入数据,如:

read.table(“c:/test.txt”)->test

便把数据集读入,并命名为test。

注:文件的后缀不必一定要.txt,关键文件要为纯文本,里面不能有特殊格式符。



如果数据文件中没有第一列记录序号,如:

Price    Floor     Area   Rooms     Age  Cent.heat
52.00    111.0      830     5       6.2      no
54.75    128.0      710     5       7.5      no
57.50    101.0     1000     5       4.2      no
57.50    131.0      690     6       8.8      no
59.75     93.0      900     5       1.9     yes

则命令语句为:

read.table(“c:/test.txt”, header=TRUE)->test



系统根据每个变量第一个值的类型,自动识别变量类型,如以上数据集中,除最后一个“Cent.hear”是字符变量,其他均为数值变量。



2、 读入其他格式的数据库

要读入其他格式数据库,必须先安装“foreign”模块。它不属于R的8个内在模块,需要在使用前安装。

安装方法很简便,只需键入命令:

library(foreign)

即可。



Epi info:

   R可读入epi5和6的数据库。命令如下:

   read.epiinfo(“文件名.rec”)

   即可。

   要给数据集一个名字,则是:

   read.epiinfo(“文件名.rec”)->名称

   例如:

   read.epiinfo(“d:/ttt.rec”)->ttt



Stata:

   R可读入Stata5,6,7的数据库。命令如下:

   read.dta(“文件名.dta”)



SAS:

   对于SAS,R只能读入SAS Transport format(XPORT)文件。所以需要把普通的SAS数据文件(.ssd和.sas7bdat)转换为Transport format(XPORT)文件,再用命令:

read.xport( )

SPSS:

read.spss( )可读入SPSS数据文件。



读入数据文件后,使用 数据集名$变量名 ,可使用各个变量。如:

mean(ttt$age)

便是计算数据集ttt中的变量age的均数。

转自链接:http://www.stathome.cn/html/S-plus_R/Rrumen/2009/0604/467.html
回复

使用道具 举报

发表于 2011-11-9 21:17:30 | 显示全部楼层
还有read.csv()读入excel文件,好像不支持07版的.xlsx的格式
回复 支持 反对

使用道具 举报

发表于 2011-11-9 21:19:02 | 显示全部楼层
还有read.csv(),但是不支持.xlsx的格式
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 01:51 , Processed in 0.031847 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表