当前位置: 首页 > news >正文

【R语言】获取数据

R语言自带2种数据存储格式:*.RData*.rds

这两者的区别是:前者既可以存储数据,也可以存储当前工作空间中的所有变量,属于非标准化存储;后者仅用于存储单个R对象,且存储时可以创建标准化档案,属于标准化存储

load()函数:读取*.RData格式的数据;

readRDS()函数:读取*.rds格式的数据。

一、读取文本数据

 R语言使用read.table()函数读取文本文档txt数据。

read.table()函数的5个参数:

  1. file:需要导入的文本数据文件路径和名称,可以是txt、dat、csv等
  2. header:导入时是否带有列标题,默认为TRUE
  3. sep:列与列之间的文本分隔符
  4. stringsAsFactor:导入数据时是否将字符串数据转为因子,默认为TRUE
  5. fileEncoding:文本数据的文件编码,默认设置为UTF-8 

R语言的base包中还有read.csv(),read.csv2(),read.delim(),read.delim2()等函数。

以下为示例: 

data <- read.table(file = "D:/Application/21.R语言/test.txt", header=T, sep=",",stringsAsFactor=F,fileEncoding="UTF-8")
head(data)

 二、读取Excel数据

1、使用openxlsx包读取

openxlsx包主要通过getSheetNames()函数和read.xlsx()函数实现对Excel数据的读取。

# 先检查是否已安装了openxlsx包,如果没有,则先安装
if (!require("openxlsx")) {install.packages("openxlsx")
}
data1 <- openxlsx::read.xlsx(xlsxFile = "D:/Application/21.R语言/test.xlsx", sheet=1)
head(data1)

 2、使用xlsx包读取

xlsx包通过read.xlsx()函数读取Excel数据的。

# 先检查是否已安装了xlsx包,如果没有,则先安装
if (!require("openxlsx")) {install.packages("openxlsx")
}
data1 <- xlsx::read.xlsx(File = "D:/Application/21.R语言/test.xlsx", sheetIndex=1, sheetName=NULL)
head(data1)

 需要安装java,否则会报错。

3、使用readxl包读取

 readxl包通过使用read_excel()函数读取Excel数据。

7个参数:

  1. path:字符型,Excel文件所在的路径和名称;
  2. sheet:字符型或整数型,需要读取的工作簿既可以是工作簿名称(字符串),也可以是工作簿的位置序号(正整数);
  3. range:字符型,读取指定区域的数据,如:B4:D88表示读取B4到D88的数据;
  4. col_names:逻辑型,判断是否使用第一行做为列的名称。
  5. col_type:字符向量或NULL,读取数据每一列的类型,包含skip(忽略),guess(基于被读取的Excel文件本身的单元格类型)、logical(逻辑型)、numeric(数值型)、date(日期型)、text(字符串型)、list(列表项)等;
  6. na:字符串,被读取的Excel文件对缺失值的约定。
  7. trim_ws:逻辑型,判断是否清楚数据末尾的空格。 
# 先检查是否已安装了readxl包,如果没有,则先安装
if (!require("readxl")) {install.packages("readxl")
}
data1 <- readxl::read_excel(path = "D:/Application/21.R语言/test.xlsx", sheet=1, range=NULL, col_names=T, col_type=NULL, na="", trim_ws=T)
head(data1)

 三、读取数据库数据

暂无

四、读取其它统计工具的数据

1、读取SPSS软件数据

SPSS软件默认数据保存格式为*.savforeign包中的read.spss()函数和haven包中的read.sav()函数或read_spss()函数可读取此类数据。

以foreign包中自带的electric.sav数据集为示例:

read.spss()函数的4个关键参数:

  1. file:字符型,需要读取的*.sav文件路径;
  2. use.value.labels:逻辑型,在读取数据时判断是否将变量的标签值转换为R语言因子格式数据,如果变量中出现不满足标签值的数据,将强制转换为NA。
  3. to.data.frame:逻辑型,判断是否将数据转换为数据框,默认值为FALSE,即转换为列表。
  4. use.missings:逻辑型,判断是否将原有数据中定义的缺失值转换为NA,建议设置为TRUE。
library("foreign")
file <- system.file("files", "electric.sav", package="foreign")
data <- foreign::read.spss(file=file, use.value.labels=T, to.data.frame=T, use.missings=T)
head(data)
dim(data)
str(data)

以haven包读取electric.sav数据集:

read_sav()函数的参数:

  1. file:字符型,需要读取的*.sav文件路径与名称;
  2. encoding:字符型,数据文件的字符编码,一般默认为NULL,即使用与原数据文件相同的编码方式;
  3. user_n:逻辑型,判断是否将原有数据中定义的缺失值转换为NA。
library("haven")
file <- system.file("files", "electric.sav", package="foreign")
data <- haven::read_sav(file = file, encoding=NULL, user_na=T)
head(data)
dim(data)
str(data)

 

 2、读取SAS软件数据

SAS软件数据集存储于逻辑库中,默认数据保存格式为*.sas7bdat。

通过foreign包的read.ssd()函数和haven包的read_sas()函数读取。

read.ssd()函数读取SAS数据集的前提是本地要安装SAS软件。

read.ssd()函数的参数:

  1. libname:字符型,逻辑库名称,相当于SAS数据集存储的文件夹名称。
  2. sectionnames:字符型,数据集名称,注意,只需要给出数据名称,不需要添加文件后缀。
  3. sascmd:字符型,SAS软件可执行程序安装的路径。
data <- foreign::read.ssd(libname = system.file("examples", package="haven"),sectionnames="iris", sascmd = "D:/Program Fils/SASHome/SASFoundation/9.4/sas.exe")
head(data)
dim(data)
str(data)

http://www.lryc.cn/news/531495.html

相关文章:

  • Java BIO详解
  • 统计满足条件的4位数(信息学奥赛一本通-1077)
  • 北京门头沟区房屋轮廓shp的arcgis数据建筑物轮廓无偏移坐标测评
  • Spring 面试题【每日20道】【其三】
  • FFmpeg(7.1版本)在Ubuntu18.04上的编译
  • Apache Hudi数据湖技术应用在网络打车系统中的系统架构设计、软硬件配置、软件技术栈、具体实现流程和关键代码
  • 安全策略配置
  • c++ stl 遍历算法和查找算法
  • 【Envi遥感图像处理】008:波段(批量)分离与波段合成
  • 线程创建与管理 - 创建线程、线程同步(C++)
  • 【C语言篇】“三子棋”
  • 安培定律应用于 BH 曲线上的工作点
  • 深度求索DeepSeek横空出世
  • 【CSS】什么是响应式设计?响应式设计的基本原理,怎么做
  • 后盾人JS--继承
  • 提升开发效率:IDE使用技巧与插件推荐
  • 开源模型应用落地-DeepSeek-R1-Distill-Qwen-7B与vllm实现推理加速的正确姿势(一)
  • 小书包:让阅读更美的二次开发之作
  • MySQL 插入数据指南
  • 防火墙安全策略实验
  • 【Redis】主从模式,哨兵,集群
  • 互联网行业常用12个数据分析指标和八大模型
  • 多模块协同信息安全管理平台
  • 基于RK3588/RK3576+MCU STM32+AI的储能电站电池簇管理系统设计与实现
  • 使用LightGlue进行图像配准并提取图像重叠区域
  • DeepSeek-R1:开源机器人智能控制系统的革命性突破
  • 第二十二章 MySQL锁之全局锁
  • pytorch实现简单的情感分析算法
  • Win11关闭登录密码?
  • e2studio开发RA4M2(6)----GPIO外部中断(IRQ)配置