【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.pswp.cn/web/67941.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67941.shtml
英文地址,請注明出處:http://en.pswp.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…