【R语言】数据的读取

RData数据

使用R语言自带的iris数据集做演示

ls()	#查看工作环境中存在哪些变量,运行结果character(0)
data(iris)
head(iris)#显示前6行数据
ls()	#运行结果[1] "iris"

#使用save( )函数将iris储存成iris.RData数据集
#Save( )函数的第一个参数是需要存储的对象,第二个参数是存储文件的路径
save(iris,file="D:/a_DUFE/000master_gogogo/R/深入浅出R语言数据分析/iris.Rdata")
#注意路径的斜杠是反斜杠

#删除已经导入的所有数据对象
rm(list=ls())
ls()	#运行结果character(0)

#RData格式的数据可以通过load( )函数进行加载
#RData格式的数据可以通过load( )函数进行加载
load("D:/a_DUFE/000master_gogogo/R/深入浅出R语言数据分析/iris.Rdata")
ls()	#运行结果[1] "iris"

#多个数据集存为一个RData文件
iris1 <- iris	#构建了一个新的数据集iris1
ls()	#运行结果 [1] "iris"   "iris1"
save(iris1,iris,file="D:/a_DUFE/000master_gogogo/R/深入浅出R语言数据分析/iris.Rdata")
rm(list=ls())
ls()	#运行结果 character(0)
load("D:/a_DUFE/000master_gogogo/R/深入浅出R语言数据分析/iris.Rdata")
ls()	#运行结果 [1] "iris"  "iris1"

在这里插入图片描述

reader高效读取数据

#安装reader包,快速、友好的方式读取矩阵数据,比R语言自带的读取数据函数要快很多
#install.packages()函数用于下载指定包
install.packages("readr")
#reader包中的主要函数
read_csv()	#读取以逗号分隔的文件,如.csv文件、.tsv文件
read_csv2()	#导入以分号为分隔符的.csv文件
read_tsv()	#读取以制表符为分隔符的文件
read_table()	#读取以空格为分隔符的文件

read_delim()	#与read_csv类似,但是与其可以读取以任意符分割的文件,通过delim参数指定分隔符

它们的参数一样
col_names:可以是FALSE、TRUE或者一个字符向量,默认是TRUE。参数设置为TRUE表示读取第一行作为列明,参数设置为字符向量,表示将字符向量作为数据集的列名字

skip:一个数值,表示读取数据时跳过多少条数据

n_max:一个数值,表示最多读取多少条数据

#R语言自带的数据读取函数
read.csv()		#读取以逗号为分隔符的数据
read.table()	#读取以空格为分隔符的数据
read.delim()	#读取以换行符为分隔符的数据

读取Excel数据

使用readxl包,提供了高效读取Excel数据的方式

read_excel()	#自动判断文件的扩展名是xls还是xlsx
read_xls()
read_xlsx()
> install.packages ("readxl")
>  library(readxl)
> (.packages())
> datasets <- readxl_example("datasets.xlsx")

#默认读取Excel中第一个Sheet的数据
> read_excel(datasets)
# A tibble: 150 × 5
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
          <dbl>       <dbl>        <dbl>       <dbl> <chr>  
 1          5.1         3.5          1.4         0.2 setosa 2          4.9         3            1.4         0.2 setosa 3          4.7         3.2          1.3         0.2 setosa 4          4.6         3.1          1.5         0.2 setosa 5          5           3.6          1.4         0.2 setosa 6          5.4         3.9          1.7         0.4 setosa 7          4.6         3.4          1.4         0.3 setosa 8          5           3.4          1.5         0.2 setosa 9          4.4         2.9          1.4         0.2 setosa 
10          4.9         3.1          1.5         0.1 setosa 
# ℹ 140 more rows
# ℹ Use `print(n = ...)` to see more rows

#读取Excel中第2个Sheet的数据
> read_excel(datasets,2)
# A tibble: 32 × 11
     mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  21       6  160    110  3.9   2.62  16.5     0     1     4     4 2  21       6  160    110  3.9   2.88  17.0     0     1     4     4 3  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1 4  21.4     6  258    110  3.08  3.22  19.4     1     0     3     1 5  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2 6  18.1     6  225    105  2.76  3.46  20.2     1     0     3     1 7  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4 8  24.4     4  147.    62  3.69  3.19  20       1     0     4     2 9  22.8     4  141.    95  3.92  3.15  22.9     1     0     4     2
10  19.2     6  168.   123  3.92  3.44  18.3     1     0     4     4
# ℹ 22 more rows
# ℹ Use `print(n = ...)` to see more rows

#如果Excel中Sheet有名称,也可以通过Sheet名称来指定
> read_excel(datasets,sheet = "chickwts")
# A tibble: 71 × 2
   weight feed     
    <dbl> <chr>    
 1    179 horsebean 2    160 horsebean 3    136 horsebean 4    227 horsebean 5    217 horsebean 6    168 horsebean 7    108 horsebean 8    124 horsebean 9    143 horsebean
10    140 horsebean
# ℹ 61 more rows
# ℹ Use `print(n = ...)` to see more rows

读取SPSS、SAS、STATA数据

使用haven包,用于读取其他统计软件的数据

install.packages ("haven")
#读取SAS数据
> path <- system.file("examples","iris.sas7bdat",package = "haven")
> path
[1] "D:/R-4.3.0/library/haven/examples/iris.sas7bdat"
> read_sas(path)
# A tibble: 150 × 5
   Sepal_Length Sepal_Width Petal_Length Petal_Width Species
          <dbl>       <dbl>        <dbl>       <dbl> <chr>  
 1          5.1         3.5          1.4         0.2 setosa 2          4.9         3            1.4         0.2 setosa 3          4.7         3.2          1.3         0.2 setosa 4          4.6         3.1          1.5         0.2 setosa 5          5           3.6          1.4         0.2 setosa 6          5.4         3.9          1.7         0.4 setosa 7          4.6         3.4          1.4         0.3 setosa 8          5           3.4          1.5         0.2 setosa 9          4.4         2.9          1.4         0.2 setosa 
10          4.9         3.1          1.5         0.1 setosa 
# ℹ 140 more rows
# ℹ Use `print(n = ...)` to see more rows

关于system.file
在这里插入图片描述

#读取SPSS数据
> path <- system.file("examples","iris.sav",package = "haven")
> path
[1] "D:/R-4.3.0/library/haven/examples/iris.sav"
> read_sav(path)
# A tibble: 150 × 5
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species   
          <dbl>       <dbl>        <dbl>       <dbl> <dbl+lbl> 
 1          5.1         3.5          1.4         0.2 1 [setosa]
 2          4.9         3            1.4         0.2 1 [setosa]
 3          4.7         3.2          1.3         0.2 1 [setosa]
 4          4.6         3.1          1.5         0.2 1 [setosa]
 5          5           3.6          1.4         0.2 1 [setosa]
 6          5.4         3.9          1.7         0.4 1 [setosa]
 7          4.6         3.4          1.4         0.3 1 [setosa]
 8          5           3.4          1.5         0.2 1 [setosa]
 9          4.4         2.9          1.4         0.2 1 [setosa]
10          4.9         3.1          1.5         0.1 1 [setosa]
# ℹ 140 more rows
# ℹ Use `print(n = ...)` to see more rows
#读取STATA数据
> path <- system.file("examples","iris.dta",package = "haven")
> path
[1] "D:/R-4.3.0/library/haven/examples/iris.dta"
> read_dta(path)
# A tibble: 150 × 5
   sepallength sepalwidth petallength petalwidth species
         <dbl>      <dbl>       <dbl>      <dbl> <chr>  
 1        5.10       3.5         1.40      0.200 setosa 2        4.90       3           1.40      0.200 setosa 3        4.70       3.20        1.30      0.200 setosa 4        4.60       3.10        1.5       0.200 setosa 5        5          3.60        1.40      0.200 setosa 6        5.40       3.90        1.70      0.400 setosa 7        4.60       3.40        1.40      0.300 setosa 8        5          3.40        1.5       0.200 setosa 9        4.40       2.90        1.40      0.200 setosa 
10        4.90       3.10        1.5       0.100 setosa 
# ℹ 140 more rows
# ℹ Use `print(n = ...)` to see more rows

  • 将R语言环境中的数据转换为SAS、SPSS、STATA
    write_sas( )、write_sav( )、write_dta( )的第一个参数是源数据集,第二个参数是数据保存的路径。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值