当前位置: 首页 > 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)

相关文章:

【R语言】获取数据

R语言自带2种数据存储格式&#xff1a;*.RData和*.rds。 这两者的区别是&#xff1a;前者既可以存储数据&#xff0c;也可以存储当前工作空间中的所有变量&#xff0c;属于非标准化存储&#xff1b;后者仅用于存储单个R对象&#xff0c;且存储时可以创建标准化档案&#xff0c…...

Java BIO详解

一、简介 1.1 BIO概述 BIO&#xff08;Blocking I/O&#xff09;&#xff0c;即同步阻塞IO&#xff08;传统IO&#xff09;。 BIO 全称是 Blocking IO&#xff0c;同步阻塞式IO&#xff0c;是JDK1.4之前的传统IO模型&#xff0c;就是传统的 java.io 包下面的代码实现。 服务…...

统计满足条件的4位数(信息学奥赛一本通-1077)

【题目描述】 给定若干个四位数&#xff0c;求出其中满足以下条件的数的个数&#xff1a;个位数上的数字减去千位数上的数字&#xff0c;再减去百位数上的数字&#xff0c;再减去十位数上的数字的结果大于零。 【输入】 输入为两行&#xff0c;第一行为四位数的个数n&#xff0…...

北京门头沟区房屋轮廓shp的arcgis数据建筑物轮廓无偏移坐标测评

在IT行业中&#xff0c;地理信息系统&#xff08;GIS&#xff09;是用于处理、分析和展示地理空间数据的重要工具&#xff0c;而ArcGIS则是GIS领域中的一款知名软件。本文将详细解析标题和描述中提及的知识点&#xff0c;并结合“门头沟区建筑物数据”这一标签&#xff0c;深入…...

Spring 面试题【每日20道】【其三】

1、Spring 中的 Profile 注解的作用是什么&#xff1f; 中等 Profile 注解在Spring框架中用于根据不同的环境配置文件&#xff08;profiles&#xff09;来激活或忽略某些Bean的注册。它允许开发者定义逻辑以区分不同环境下的bean定义&#xff0c;例如开发、测试和生产环境。 …...

FFmpeg(7.1版本)在Ubuntu18.04上的编译

一、从官网上下载FFmpeg源码 官网地址:Download FFmpeg 点击Download Source Code 下载源码到本地电脑上 二、解压包 tar -xvf ffmpeg-7.1.tar.xz 三、配置configure 1.准备工作 安装编译支持的软件 ① sudo apt-get install nasm //常用的汇编器,用于编译某些需要汇编…...

Apache Hudi数据湖技术应用在网络打车系统中的系统架构设计、软硬件配置、软件技术栈、具体实现流程和关键代码

网络打车系统利用Hudi数据湖技术成功地解决了其大规模数据处理和分析的难题&#xff0c;提高了数据处理效率和准确性&#xff0c;为公司的业务发展提供了有力的支持。 Apache Hudi数据湖技术的一个典型应用案例是网络打车系统的数据处理场景&#xff0c;具体如下&#xff1a; 大…...

安全策略配置

需求: 1、VLAN 2属于办公区;VLAN 3属于生产区 2、办公区PC在工作日时间(周一至周五&#xff0c;早8到晚6)可以正常访问0A Server&#xff0c;其他时间不允许 3、办公区PC可以在任意时刻访问web server 4、生产区PC可以在任意时刻访问0A Server&#xff0c;但是不能访问Web serv…...

c++ stl 遍历算法和查找算法

概述&#xff1a; 算法主要由头文件<algorithm> <functional> <numeric> 提供 <algorithm> 是所有 STL 头文件中最大的一个&#xff0c;提供了超过 90 个支持各种各样算法的函数&#xff0c;包括排序、合并、搜索、去重、分解、遍历、数值交换、拷贝和…...

【Envi遥感图像处理】008:波段(批量)分离与波段合成

文章目录 一、波段分离提取1. 提取单个波段2. 批量提取单个波段二、波段合成相关阅读:【ArcGIS微课1000例】0058:波段合成(CompositeBands)工具的使用 一、波段分离提取 1. 提取单个波段...

线程创建与管理 - 创建线程、线程同步(C++)

前言 在现代软件开发中&#xff0c;线程的创建和管理是并发编程的核心内容之一。通过合理地创建和管理线程&#xff0c;可以有效提高程序的响应速度和资源利用率。本文将详细讲解如何在C中创建线程&#xff0c;并探讨几种常见的线程同步机制。我们假设读者具备一定的C基础&…...

【C语言篇】“三子棋”

一、游戏介绍 三子棋&#xff0c;英文名为 Tic - Tac - Toe&#xff0c;是一款简单而经典的棋类游戏。游戏在一个 33 的棋盘上进行&#xff0c;两名玩家轮流在棋盘的空位上放置自己的棋子&#xff08;通常用 * 和 # 表示&#xff09;&#xff0c;率先在横、竖或斜方向上连成三个…...

安培定律应用于 BH 曲线上的工作点

在本篇博文中&#xff0c;我将展示如何应用安培定律来确定磁芯包裹的导体必须承载多少电流才能从 BH 值工作点获得 B 值&#xff0c;该工作点对应于磁芯材料中的最大 B 值。我在 BH 曲线上使用两个工作点&#xff0c;一个在线性区域&#xff0c;另一个在饱和区域。 安培定律 H…...

深度求索DeepSeek横空出世

真正的强者从来不是无所不能&#xff0c;而是尽我所能。多少有关输赢胜负的缠斗&#xff0c;都是直面本心的搏击。所有令人骄傲振奋的突破和成就&#xff0c;看似云淡风轻寥寥数语&#xff0c;背后都是数不尽的焚膏继晷、汗流浃背。每一次何去何从的困惑&#xff0c;都可能通向…...

【CSS】什么是响应式设计?响应式设计的基本原理,怎么做

在当今多设备、多屏幕尺寸的时代&#xff0c;网页设计面临着前所未有的挑战。传统的固定布局已无法满足用户在不同设备上浏览网页的需求&#xff0c;响应式设计&#xff08;Responsive Web Design&#xff09;应运而生&#xff0c;成为网页设计的趋势和标准。本文将深入探讨响应…...

后盾人JS--继承

继承是原型的继承 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </hea…...

提升开发效率:IDE使用技巧与插件推荐

在软件开发过程中&#xff0c;选择一个合适的集成开发环境&#xff08;IDE&#xff09;并掌握其使用技巧&#xff0c;可以显著提高开发效率。本文将分享一些常用的IDE使用技巧&#xff0c;并推荐几款实用的插件&#xff0c;帮助开发者更好地利用IDE进行开发。 一、IDE使用技巧…...

开源模型应用落地-DeepSeek-R1-Distill-Qwen-7B与vllm实现推理加速的正确姿势(一)

一、前言 在当今人工智能技术迅猛发展的时代,各类人工智能模型如雨后春笋般不断涌现,其性能的优劣直接影响着应用的广度与深度。从自然语言处理到计算机视觉,从智能安防到医疗诊断,AI 模型广泛应用于各个领域,人们对其准确性、稳定性和高效性的期望也与日俱增。 在此背景下…...

小书包:让阅读更美的二次开发之作

小书包是在一款知名阅读软件的基础上进行二次开发的产品。在保留原有软件的基本功能和用户体验的同时&#xff0c;对其界面和视觉效果进行了精心美化&#xff0c;让阅读体验更加舒适和愉悦。 内置了171条书源&#xff0c;虽然数量不算多&#xff0c;但都是作者精挑细选出来的&a…...

MySQL 插入数据指南

MySQL 插入数据指南 引言 MySQL 是一款广泛使用的开源关系数据库管理系统&#xff0c;被广泛应用于各种规模的组织中。在数据库管理中&#xff0c;数据的插入是基础操作之一。本文将详细介绍如何在 MySQL 中插入数据&#xff0c;包括插入单条记录和多条记录&#xff0c;以及一…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...