【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()函数读取。

foreign包中的read.ssd()函数读取:

注意: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)

haven包中的read_sas()函数读取:

read_sas()函数的主要参数:

  1. data_file:字符型,需要读取的文件路径;
  2. encoding:字符型,数据文件的字符编码,默认为NULL,即使用与原数据文件相同的编码方式;
  3. col_select:字符串,需要读取数据列的列名称,默认为NULL,即读取全部列。
file <- system.file("examples", "iris.sas7bdat", package = "haven")
data <- haven::read_sas(data_file = file, encoding = NULL, col_select = NULL)
head(data)
dim(data)
str(data)

3、读取Stata软件数据

 Stata软件数据格式是*.dta。

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

 foreign包的read.dta()函数:

read.dta()函数仅支持读取Stata5到Stata12版本的数据,不支持更高级的版本

file <- system.file("examples", "iris.dta", package="haven")
data <- foreign::read.dta(file=file, convert.dates=T,convert.factors=T)
head(data)
dim(data)
str(data)

提示版本错误: 

haven包的read_dta()函数:

 此函数对Stata软件版本没有要求。

file <- system.file("examples", "iris.dta", package="haven")
data <- haven::read_dta(file=file, encoding=NULL)
head(data)
dim(data)
str(data)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/67941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vim的基础命令

移动光标 H(左) J(上) K(下) L(右) $ 表示移动到光标所在行的行尾&#xff0c; ^ 表示移动到光标所在行的行首的第一个非空白字符。 0 表示移动到光标所在行的行首。 W 光标向前跳转一个单词 w光标向前跳转一个单词 B光标向后跳转一个单词 b光标向后跳转一个单词 G 移动光标到…

11. 9 构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南

构建生产级聊天对话记忆系统:从架构设计到性能优化的全链路指南 关键词: 聊天对话记忆系统、多用户会话管理、LangChain生产部署、Redis记忆存储、高并发对话系统 一、服务级聊天记忆系统核心需求 多用户隔离:支持同时处理数千个独立对话持久化存储:对话历史不因服务重启丢…

Block Blaster Online:免费解谜游戏的乐趣

Block Blaster Online 是一款免费的在线解谜游戏&#xff0c;它将挑战你的思维和反应能力&#xff01;在这里&#xff0c;你可以匹配五彩缤纷的方块&#xff0c;创造出令人惊叹的组合&#xff0c;享受无尽的解谜乐趣。无需安装&#xff0c;点击即可开始&#xff0c;加入全球数百…

Guided Decoding (借助FSM,有限状态自动机)

VLLM对结构化输出的支持&#xff1a; vllm/docs/source/features/structured_outputs.md at main vllm-project/vllm GitHub VLLM对tool call的支持&#xff1a; vllm/docs/source/features/tool_calling.md at main vllm-project/vllm GitHub 以上指定输出格式&#xf…

IFeatureWorkspace.CreateFeatureClass(),报错对COM组件的调用返回了错误 HRESULT E_FAIL

1、问题描述&#xff1a;在AE开发中&#xff0c;新增一个空的shpfile文件的时候&#xff0c;报错&#xff0c;如下图&#xff1a; 2、原因分析&#xff1a;产生此问题的原因是未设置默认字段的默认参数&#xff0c;特别是未设置IGeometryDef 参数。 3、解决方案&#xff1a;在…

算法题(48):反转链表

审题&#xff1a; 需要我们将链表反转并返回头结点地址 思路&#xff1a; 一般在面试中&#xff0c;涉及链表的题会主要考察链表的指向改变&#xff0c;所以一般不会允许我们改变节点val值。 这里是单向链表&#xff0c;如果要把指向反过来则需要同时知道前中后三个节点&#x…

内存的介绍

1、程序运行为什么需要内存 1.1、计算机程序运行的目的 (1)程序的目的是为了去运行&#xff0c;程序运行是为了得到一定的结果。 (2)计算机程序 代码 数据。计算机程序运行完得到一个结果&#xff0c;就是说 代码 数据 (经过运行后) 结果。 (3)从宏观上来理解&#xff…

【NLP百面百过】大模型算法面试高频面题(全面整理 ʘ‿ʘ)

目录 一、大模型面试指南 重点面题精讲 【LLM面题精讲 - RAG系统面】 查看答案 【LLM面题精讲 - 实体识别面】 查看答案 【LLM面题精讲 - 文本分类面】 查看答案 【LLM面题精讲 - 分布式训练面】 查看答案 【LLM面题精讲 - 大模型微调面】 查看答案 【LLM面题精讲 - 大…

Java 大视界 -- Java 大数据在智能医疗影像诊断中的应用(72)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!💖 一、…

基于 docker 的mysql 5.7 主主集群搭建

创建挂载目录和配置文件 主节点1 mkdir -p /mysql_master_1/mysql/log mkdir -p /mysql_master_1/mysql/data mkdir -p /mysql_master_1/mysql/conf vim /mysql_master_1/mysql/conf/my.cnf[mysqld] datadir/var/lib/mysql #MySQL 数据库文件存放路径 server_id 1 #指定数据…

list容器(详解)

list的介绍及使用&#xff08;了解&#xff0c;后边细讲&#xff09; 1.1 list的介绍&#xff08;双向循环链表&#xff09; https://cplusplus.com/reference/list/list/?kwlist&#xff08;list文档介绍&#xff09; 1. list是可以在常数范围内在任意位置进行插入和删除的序…

MapReduce分区

目录 1. MapReduce分区1.1 哈希分区1.2 自定义分区 2. 成绩分组2.1 Map2.2 Partition2.3 Reduce 3. 代码和结果3.1 pom.xml中依赖配置3.2 工具类util3.3 GroupScores3.4 结果 参考 本文引用的Apache Hadoop源代码基于Apache许可证 2.0&#xff0c;详情请参阅 Apache许可证2.0。…

kamailio-ACC_JSON模块详解【后端语言go】

要确认 ACC_JSON 模块是否已经成功将计费信息推送到消息队列&#xff08;MQueue&#xff09;&#xff0c;以及如何从队列中取值&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 确认 ACC_JSON 已推送到队列 1.1 配置 ACC_JSON 确保 ACC_JSON 模块已正确配置并启用。以下…

网件r7000刷回原厂固件合集测评

《网件R7000路由器刷回原厂固件详解》 网件R7000是一款备受赞誉的高性能无线路由器&#xff0c;其强大的性能和可定制性吸引了许多高级用户。然而&#xff0c;有时候用户可能会尝试第三方固件以提升功能或优化网络性能&#xff0c;但这也可能导致一些问题&#xff0c;如系统不…

【C++STL标准模板库】二、STL三大组件

文章目录 1、容器2、算法3、迭代器 二、STL三大组件 1、容器 容器&#xff0c;置物之所也。 研究数据的特定排列方式&#xff0c;以利于搜索或排序或其他特殊目的&#xff0c;这一门学科我们称为数据结构。大学信息类相关专业里面&#xff0c;与编程最有直接关系的学科&…

基于 Java 开发的 MongoDB 企业级应用全解析

基于Java的MongoDB企业级应用开发实战 目录 背景与历史MongoDB的核心功能与特性企业级业务场景分析MongoDB的优缺点剖析开发环境搭建 5.1 JDK安装与配置5.2 MongoDB安装与集群配置5.3 开发工具选型 Java与MongoDB集成实战 6.1 项目依赖与驱动选择6.2 连接池与客户端配置6.3…

需求分析应该从哪些方面来着手做?

需求分析一般可从以下几个方面着手&#xff1a; 业务需求方面 - 与相关方沟通&#xff1a;与业务部门、客户等进行深入交流&#xff0c;通过访谈、问卷调查、会议讨论等方式&#xff0c;明确他们对项目的期望、目标和整体业务需求&#xff0c;了解项目要解决的业务问题及达成的…

算法题(57):找出字符串中第一个匹配项的下标

审题: 需要我们根据原串与模式串相比较并找到完全匹配时子串的第一个元素索引&#xff0c;若没有则返回-1 思路&#xff1a; 方法一&#xff1a;BF暴力算法 思路很简单&#xff0c;我们用p1表示原串的索引&#xff0c;p2表示模式串索引。遍历原串&#xff0c;每次遍历都匹配一次…

求组合数(递推法、乘法逆元、卢卡斯定理、分解质因数)

文章目录 递推法 10^4代码 乘法逆元 10^6代码 卢卡斯定理 1 0 18 m o d 1 0 6 10^{18}mod 10^6 1018mod106代码 分解质因数 常规的解法就不多加赘述了&#xff0c;如&#xff08;分子/分母&#xff0c;边乘边除&#xff09;&#xff0c;本文讲述以下方法&#xff1a; 递推法 了…

WPF进阶 | WPF 动画特效揭秘:实现炫酷的界面交互效果

WPF进阶 | WPF 动画特效揭秘&#xff1a;实现炫酷的界面交互效果 前言一、WPF 动画基础概念1.1 什么是 WPF 动画1.2 动画的基本类型1.3 动画的核心元素 二、线性动画详解2.1 DoubleAnimation 的使用2.2 ColorAnimation 实现颜色渐变 三、关键帧动画深入3.1 DoubleAnimationUsin…