R语言基础6 (数据的输入)

R可以从键盘、文本文件、Microsoft Excel和Access、流行的统计软件、特殊格式的文件,以及多种关系型数据库中导入数据。

一、使用键盘输入数据

输入数据最直接的放吧就是使用键盘输入。R中的函数edit()会自动调用一个允许手动输入数据的文本编辑器,具体步骤如下:

(1)创建一个空数据框(或矩阵),其中变量名和变量类需与预期中的最终数据集一直。

(2)针对这个数据对象调用文本编辑器,输入数据,并将结果保存会此数据对象中。

例:

> newdata <-data.frame(age=numeric(0),sex=character(0),weight=numeric(0))
> newdata <-edit
> newdata <- edit(newdata)
//创建名为newdata的数据框,它包含三个变量:age(数值型)、sex(字符型)和weight(数值型)

此外edit(newdata)的一种简介的等价写法是fix(newdata)

二、数据集的导入

  1. 从带分隔符的文本文件导入数据

可以使用read.table()从带分隔符的文本文件中导入数据。此函数可以读入一个表格格式的文件并将其保存为一个数据框。语法如下:

>mydata <- read.table(file,header=TRUE,sep="delimiter",row.names="name")

其中,file是一个带分隔符的ASCII文本文件;header是一个表明首行是否包含了变量名的逻辑值(TRUE或FALSE);sep用来指定分隔数据的分隔符;row.names是一个可选参数,用以指定一个或多个表示行标识符的变量。

例:

> Example2_1 <- read.table("example2_1.csv",header = TRUE,sep=",")
> Example2_1
  group     atp
1     1   7.760
2     2  11.140
3     3  23.324
4     4 342.423

注意:

"csv"文件要和r文本文件在同一路径下!!

否则会报错:

Error in file(file, "rt") : 无法打开链结
此外: Warning message:
In file(file, "rt") :
  无法打开文件'example2_1.csv': No such file or directory

解决办法有两种:

(1)在file中输入准确的“csv”文件的具体路径

(2)将“csv”文件保存到R路径下

其中R路径的查询方法为:

> getwd()

2.导入Excel数据

读取一个Excel文件最好的方式是在Excle中将其导出一个逗号分隔文件“csv”,并使用前文描述的方式将其导入R中。在Windows中,也可以使用RODBC包来访问Excel文件。电子表格的第一行应当包含变量/列的名称。

首先,下载并安装RODBC包:

>install.packages("RODBC")

然后使用以下代码导入数据:

>library(RODBC)
>Example2_2 <- odbcConnectExcel("example2_2.xls")
>mydata <- sqlFetch(Exmple2_2,"sheet1")
>odbcClose (Example2_2)

3、导入SPSS数据

SPSS数据集既可以通过foreign包中的函数read.spss()导入R中,也可以使用Hmisc包中的spss.get()函数。函数spss.get()是对函数read.spss()的一个封装,它可以自动设置后者的许多参数,让整个转换过程更加简单一致,最后得到数据分析人员所期望的结果。

首先,下载并安装Hmisc包(foreign包已被默认安装):

>install.packages("Hmisc")

然后使用以下代码导入数据:

>library(Hmisc)
>mydata <- spss.get("mydata.say",use.value.lables=TRUE)

在以上代码中,mydata.sav是要导入的spss数据文件,use.value.lables=TRUE让函数将带有值标签的变量导入为R中水平对应相同的因子,mydata是导入后的数据框。

4、导入SAS数据

R中有几个用来导入SAS数据集的函数,包括foreign包中的函数read.sd()和Hmisc包中的函数sas.get()。但是,对于较新版本的SAS(SAS9.1或更高版本),这些函数并不能正常工作,因为R尚未跟进SAS对文件结构的改动。用户可以在SAS中使用PROC EXPORT将SAS数据集保存为一个逗号分隔的文本文件,然后将带分隔符的文本文件导入R中。

另外,Stat/Transfer软件可以完好地将SAS数据集(包括任何已知的变量格式)保存为R数据框。

5、导入Stata数据

要将Stata数据导入R中非常简单直接,所需代码如下:

>Library(foreign)
>Mydata <- read.dta("mydata.dta")

其中,mydata.dta是Stata数据集,mydata时返回R数据框。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jqh.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值