当前位置: 首页 > 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;以及一…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...