R語言入門課| 05 一文掌握R語言常見數據類型

視頻教程

大家可以先做一做R語言基礎小測驗,看看自己是否需要跟我們5.5h入門R語言的課程。

先上教程視頻,B站同步播出:

https://www.bilibili.com/video/BV1miNVeWEkw

完整視頻回放和答疑服務可見:5.5h入門R語言

本節課程視頻:(點擊此處查看)

"R語言入門課"是我們認為生信小白入門不得不聽的一個課程,我們也為這個課程準備了許多干貨。R語言的精髓便是數據處理,在本節課中,我們詳細介紹了向量、矩陣、數據框、數組、因子、列表的創建方法與數據訪問方式,為以后的生物信息學數據處理打下牢固的基礎!

本次課程代碼

大家可以跟著視頻練習如下代碼:

#### ?創建數據集 ####
###### 一、向量(vector) ######
# 1 定義
# 是用于存儲數值型、字符型或邏輯型數據的一維數組。 例如:
a?<- c(1,2,3,4,5,6,-2,4)
b?<- c("one","two","three",'four')
c1?<- c(TRUE,TRUE,TRUE,FALSE,FALSE)# 布爾值
c2?<- c(T,T,T,F,F)# 布爾值
# a為數值型向量,b字符型(必須加""),c邏輯型向量。
# 單個向量中的數據類型必須相同
c?<- c(1,'asjhg')
cclass(c)
as.numeric(c)
# ***標量(scalar)是只含一個元素的向量
g?<-1# 2 訪問向量中的元素
# **注:R中位置索引從1開始,而不是0**
# 1) 訪問單個元素
a?<- c("k","q","e","f","a","w","p","m")
a[3]# 2)訪問多個元素
a?<- c("k","q","e","f","a","w","p","m")
a[ ? c(1,2,4,6) ? ?]
# 3)連續訪問多個元素
a?<- c("k","q","e","f","a","w","p","m")
a[ ? c(2:6) ?]
length(a)###### 二、矩陣(matrix) ######
# 1 定義
# 是一個**二維變量**,只是每個元素都擁有相同的模式(數值型、字符型或邏輯型)。
#可以通過函數matrix()創建矩陣,格式如下:
# mymatrix <- matrix(vector,nrow = number_of_rows,
# ? ? ? ? ? ? ? ? ? ?ncol = number_of_columns,
# ? ? ? ? ? ? ? ? ? ?byrow = logical_value,dimnames = list(char_vector_rownames,
# ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?char_vector_colnames))#vector:矩陣的元素
#nrow:行的維數
#ncol:列的維數#dimnames:可選的、以字符型向量表示的行名和列名,如果沒有設定可以不寫
#byrow = TRUE:矩陣按行填充,byrow = FALSE:矩陣按列填充。\*\*如果不做設定,默認情況下按列填充。
# ? **因此,創建矩陣時至少包括vector,nrow,ncol**# 2 創建矩陣
y?<- matrix(1:20,nrow =?5,ncol =?4)
ycells?<- c(1,2,3,4)
rnames?<- c("R1","R2")
cnames?<- c("C1","C2")mymatrix1?<- matrix(cells,nrow =?2,ncol =?2,byrow = FALSE,dimnames?= list(rnames,cnames))
mymatrix1#可以看到優先按列填充,且行名為rnames,列名為cnames。
# 下面改變一些參數:
cells?<- c(1,2,3,4)
rnames?<- c("R1","R2")
cnames?<- c("C1","C2")mymatrix2?<- matrix(cells,nrow =?2,ncol =?2,byrow = TRUE,dimnames?= list(cnames,rnames))
mymatrix2# 可以看的變成了優先按行填充,行名變為cnames,列名變為rnames。
# 如何訪問矩陣中的元素?
# 使用下標和方括號來選擇矩陣中的行、列或元素。
# x[i,] 矩陣x中的第i行
# x[,j]:矩陣x中的第j列**
# x[i,j]:矩陣x中第i行第j列個元素
# x[i,c(h,j)]:矩陣x中第i行,第h和j列
# x[c(h:i),j]:矩陣x中第h-i行,第j列# 舉例
x?<- matrix(21:40,nrow =?4,ncol =?5?)
x
x[1,]
x[,5]
x[c(1,2,3),5]
x[c(2:4),c(2:4)]
dim(x)
nrow(x)?
ncol(x)# 矩陣也只能包含一種數據類型,當維度超過2時,可以使用數組

###### 三、 數組(array) ####### 1 定義# 數組(array)與矩陣類似,但是維度可以大于2,例如可以是三維的。# 通過函數**array()**創建:# myarray <- array(vector,dimensions,dimnames)# vector:數組中的數據# dimensions:數值型向量,給出了各個維度下標的最大值,# 按行,列,面進行排序??# dimnames:可選的、各維度名稱標簽的列表# 2 創建數組dim1 <- c("A1","A2")dim2 <- c("B1","B2","B3")dim3 <- c("C1","C2","C3","C4")z <- array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))z# 可以看到這里c(2,3,4)表示的3個維度分別為2,3,4個,即2行3列4面。# 3 訪問數組中的元素#和矩陣類似,使用下標和方括號來選擇。z[1,3,4]#這表示選擇是維度1中的1(第一行),維度2中的3(第三列),維度3中的4(第4個矩陣) ***可以某種程度上將數組看出幾個矩陣的組合。***dim(z)
###### 四、 數據框(data) ####### 1 定義# 數據框的不同列可以包含不同模式(數值型、字符型、邏輯型)數據,更類似于常見的數據集。# 通過函數**data.frame()**創建:mydata <- data.frame(col1,col2,col3,...)#col1,col2,col3,...:列向量,可以為任何類型的數據,每一列的名稱由函數names指定。 **但通常不同列(變量)的向量中的數據(觀測值)個數相同,且每一列數據的模式必須相同**
# 2 創建數據框patientID <- c(1,2,3,4)age <- c(25,34,28,52)diabetes <- c("Type1","Type2","Type1","Type1")status <- c("Poor","Improved","Excellent","Poor")patientdata <- data.frame(patientID,age,diabetes,status)patientdata# 3 選取數據框中的元素#1)用方括號和下標來選取,[n]和[n1:n2]格式下標的數字表示第n1到n2變量(列)patientdata[2]patientdata[,1:2]# 而[n1,n2]則選取的依然是第n1行,n2列對應的元素patientdata[3,4]# 2)直接利用函數制定特定變量名來獲取patientdata[c("age","status")]patientdata[,c("age","status")]#* 注意變量名是字符型數據,所以要加雙引號# 3)利用$符號+變量名(不用雙引號)patientdata$status# **with()**函數#在每個變量名前都輸入一次patientdata$比較繁瑣,可以借助with()函數簡化代碼#以內置數據框mtcars為例:mtcarssummary(mtcars$mpg)# summary()獲取描述性統計量,可以提供最小值、最大值、四分位數和數值型變量的均值,以及因子向量和邏輯型向量的頻數統計等。結果輸出中的1Q和Q3分別為殘差第一四分位數(1Q)和第三分位數(Q3)。***plot(mtcars$mpg,mtcars$disp)with(mtcars,? ? ?{? ? ? ?plot(mpg,disp)? ? ? ?plot(mpg,gear)? ? ? ?plot(mpg,carb)? ? ?}? ? ?)dim(mtcars) ?###### 五、因子(factor) ####### 1 定義#談因子前首先要了解變量的分類,可以分為:# +----------------------+----------------------------------------------------+----------------------------------------+-----------------------------------+# | 變量分類 ? ? ? ? ? ? | 定義 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 包括 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 具體舉例 ? ? ? ? ? ? ? ? ? ? ? ? ?|# +======================+====================================================+========================================+:==================================+# | 名義變量(分類變量) | 沒有順序之分的分類變量 ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 性別,省份,職業、分型等 ? ? ? ? ? ? ? | Diabetes(Type1、Type2) ? ? ? ? ? ?|# | ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# | nominal variable ? ? | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# +----------------------+----------------------------------------------------+----------------------------------------+-----------------------------------+# | 順序變量 ? ? ? ? ? ? | 一種順序關系而非數量關系 ? ? ? ? ? ? ? ? ? ? ? ? ? | 班級,名次,病情等 ? ? ? ? ? ? ? ? ? ? | Status(poor、improved、excellent) |# | ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# | ordinal variable ? ? | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# +----------------------+----------------------------------------------------+----------------------------------------+-----------------------------------+# | 連續變量 ? ? ? ? ? ? | 可呈現為某個范圍內的任意值,并同時表示了順序和數量 | 連續的數值,可以進行求和,平均值等運算 | age(15、21、33) ? ? ? ? ? ? ? ? ? |# | ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# | continuous variable ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |# +----------------------+----------------------------------------------------+----------------------------------------+-----------------------------------+# **其中名義變量和順序變量稱為因子**
# 2 名義變量作為因子時#函數factor()以一個整數向量的形式存儲類別值,#整數的取值范圍是[1...k](其中k是名義變量中唯一值的個數)。同時,一個由字符串(原始值)組成的內部向量將映射到這些整數上。diabetes <- c("Type1","Type2","Type1","Type1")diabetesdiabetes1 <-?factor(diabetes)diabetes1str(diabetes)str(diabetes1)#可以看到用factor()將向量存儲為(1,2,1,1),并在內部將其關聯為1=Type1,2=Type2.# 3 順序變量作為因子時#表示順序變量時,要指定ordered=TRUEstatus<- c("poor","improved","excellent","poor")status1 <-?factor(status,ordered = TRUE)str(status)str(status1)# 對于字符型向量,因子的水平(level)默認依字母順序創建,但很少情況是理想的,# 可以用levels選項覆蓋默認排序,重新排序:**status<- c("poor","improved","excellent","poor")status2 <-?factor(status,ordered = TRUE,? ? ? ? ? ? ? ? ? levels = c("poor","improved","excellent"))str(status1)str(status2)# 這樣排序從原來的3213變成了1231。# 數值型變量可以用參數levels和labels來編碼因子 例如,男性被編碼為1,女性被編碼為2:sex <- c(1,2,2,1)sex<-?factor(sex,levels = c(1,2),labels = c("Male","Female"))sex# **歸根結底,因子和非因子到底什么區別?我們用一張圖就可以直觀感受** plot函數的數據集是向量的作圖輸出散點圖:mtcars$cylplot(mtcars$cyl)# plot函數的數據集是因子的作圖輸出條形圖:mtcars$cylmtcars1 <-?factor(mtcars$cyl)plot(mtcars1)mtcars2 <-?factor(mtcars$cyl,levels = c('8','6','4'))plot(mtcars2)
###### 六、列表(list) ####### 1 定義#一些對象(或成分)的有序集合。一個列表中可能包含若干對象(可能無關的)如向量,矩陣,數據框甚至其他列表。#用函數**list()**創建,也可以對列表中的對象命名:#mylist <- list(object1,object2,...)#mylist <- list(name1=object1,name2=object2,...)
# 2 創建一個列表g <-?"My Frist list"h <- c(25,23,11,13)j <- matrix(1:10,nrow = 5)k <- c("one","two","three")mylist <- list(title=g,ages=h,? ? ? ? ? ? ? ?j,k)mylist#這個列表中包含了字符型、數值型向量,矩陣。
# 3 選取列表中的元素#一般用[[]],雙重方括號加數字或名稱來訪問mylist[[2]]mylist[["title"]]mylist["title"]

R語言入門課

1、課程簡介

生信基地希望能夠給大家提供系統性形成性規范性的生信教學。前面幾次活動中同學們表示希望能夠有線下集中學習以及針對性的指導、答疑。所以,此次我們已推出"生信R語言入門課",分為"R介紹"、"R語言數據對象"、"基本數據管理"、"圖形初級(ggplot2)"四個模塊共12節課。當然,我們也不做生信快餐,本次活動回放已剪輯完畢,方便錯過活動的小伙伴加入。

2、R語言介紹

R語言是一種專門為統計分析、數據可視化和計算而設計的編程語言,廣泛應用于各個領域。R語言支持各種統計分析方法,如線性回歸、方差分析、聚類分析等,同時也能夠進行復雜的圖形和數據可視化。R語言憑借其開源、免費、工具包豐富、數據處理能力強、可視化豐富的特性在生物信息學中被廣泛應用。例如RNA-Seq差異分析常用的DESeq2、edgeR的引用次數多達數萬次。我們制作的單細胞教程幾乎也全是基于R語言環境。很多同學找我們學習單細胞的時候都表示不想學習R語言,直接學習單細胞分析,不積跬步無以至千里,這顯然是不現實的,所以,歡迎大家來參加此次的課程。

資料&課表

目前12節總計5.5h的視頻課程回放已剪輯完畢,方便錯過直播的同學隨時加入學習:

除了學習視頻外,還給大家準備了學習資料,包括學習手冊、課后習題。大家人手一份資料可以跟著視頻聯系:

課程目錄:

1 、R介紹

1.1 R 下載與安裝

1.1.1 RStudio

1.1.2 R的幫助函數

1.1.3 用于管理R工作區的函數

1.2 包(Packages)

1.2.1 包的基本函數

1.2.2 包處理大型數據集的示例展示

2、 R語言數據對象

2.1 理解數據集

2.2 數據結構

2.2.1 向量(vector)

2.2.2 矩陣(matrix)

2.2.3 數組(array)

2.2.4 數據框(data)

2.2.5 因子(factor)

2.2.6 列表(list)

2.3 數據輸入

2.3.1 從帶分隔符的文本文件導入數據

2.3.2 導入Excel數據

3、基本數據管理

3.1 創建新變量

3.2 變量的重編碼(recoding)

3.3 變量的重命名

3.4.缺失值(NA)

3.5 類型判斷和轉換

3.6 數據排序

3.7 數據集的合并

3.8 選取變量

3.9 選取觀測值

3.10 subset()函數選擇觀測值或變量

3.11 剔除變量

3.12 dplyr包

3.13 使用管道操作符對語句進行串接

4、圖形初級(ggplot2)

4.1 使用ggplot2包創建圖形

4.1.1 函數ggplot2()

4.1.2 geom()函數

4.1.3 分組

4.1.4 標尺

4.1.5 刻面

4.1.6 標簽

4.1.7主題

4.2 ggplot2包的詳細信息

4.2.1 放置數據和映射選項

4.2.2 將圖形作為對象使用

4.2.3 保存圖

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/911919.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/911919.shtml
英文地址,請注明出處:http://en.pswp.cn/news/911919.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vRDMA 發布,助力云上 VPC 內高性能通信

資料來源&#xff1a;火山引擎-開發者社區 近日&#xff0c;火山引擎基于部分云服務器實例規格邀測發布 vRDMA 特性&#xff0c;提供云上 VPC 內大規模 RDMA 加速能力&#xff0c;可兼容傳統 HPC 應用、AI 應用以及傳統 TCP/IP 應用&#xff0c;降低大眾化場景的適配門檻&#…

Win10安裝dify

一、win10虛擬化設置&#xff0c;控制面板中開啟如下三個服務 二、檢查確認wls服務開啟 設置自動啟動并啟動 確認服務開啟 bcdedit 是否為auto&#xff0c;如果不是&#xff0c;設置為auto bcdedit /set hypervisorlaunchtype autocpu是否為虛擬化 更新wsl wsl --update二 …

【ai學習筆記】GitLab

CI/CD&#xff08;持續集成/持續交付&#xff09;是現代軟件開發中的關鍵實踐&#xff0c;通過自動化工具可以大幅提升開發效率和軟件質量。下面為你介紹CI/CD的核心概念、常用工具以及示例配置&#xff1a; 1. CI/CD 核心概念 持續集成&#xff08;CI&#xff09;&#xff1…

Solidity 從 0 到 1 |Web3 開發入門免費共學營

開啟你的 Web3 開發之旅&#xff0c;從 Sonic 開始&#xff01; 想進入區塊鏈開發的世界&#xff0c;卻不知道從哪里開始&#xff1f;選擇對的語言和平臺&#xff0c;才能事半功倍。 Solidity 是 Web3 中最主流、最通用的智能合約開發語言&#xff0c;被廣泛應用于以太坊及其…

【unitrix】 4.4 類型級整數比較系統(cmp.rs)

一、源碼 這段代碼實現了一個類型級別的整數比較系統&#xff0c;允許在編譯時進行整數比較操作。它定義了一套類型來表示比較結果&#xff0c;并為不同類型的整數實現了比較邏輯。 use core::cmp::Ordering; use core::default::Default; use crate::sealed::Sealed; use cr…

2025年滲透測試面試題總結-2025年HW(護網面試) 14(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 1. SQL注入原理 &#x1f4a5; 2. XXE攻擊&#xff08;XML外部實體注入&#xff09; &#x1f9e9; 3. SQ…

Android開發根據滑動距離標題欄進行漸變

Android開發根據滑動距離標題欄進行漸變 假設滑動控件是NestedScrollView。 先監聽NestedScrollView的滑動距離&#xff1a; nslv_preview_me.setOnScrollChangeListener(object :NestedScrollView.OnScrollChangeListener{override fun onScrollChange(v: NestedScrollView…

高中成績可視化平臺開發筆記

高中成績可視化平臺&#xff08;1&#xff09; 一、項目概述 本系統是一個基于 PyQt5 和 Matplotlib 的高中成績數據可視化分析平臺&#xff0c;旨在幫助教師快速了解學生成績分布、班級對比、學科表現等關鍵指標。平臺支持文科與理科的數據切換&#xff0c;并提供多個維度的圖…

自動化按需導入組件庫的工具rust版本完成開源了

背景 當我為每個Vue項目使用ui組件庫的時候&#xff0c;都會使用按需導入的方式來使用ui組件庫。但是每次按需導入&#xff0c;不可避免的就需要做以下三步。我們以element plus ui組件庫為例。 1. 安裝依賴 第一步&#xff0c;當然是需要安裝依賴。命令如下: pnpm add unp…

Linux內核中TCP分段的核心機制:tcp_fragment函數解析

引言:TCP分段的必要性 在TCP/IP協議棧中,MSS(最大分段大小) 限制了單次傳輸的數據量。當應用層發送的數據超過當前路徑的MSS時,內核必須執行分段操作。tcp_fragment函數正是Linux內核中處理TCP分段的核心機制,它巧妙地在協議合規性、內存安全和性能效率之間取得平衡。 一…

【趙渝強老師】OceanBase OBServer節點的SQL層

OceanBase OBServer節點的SQL層將用戶的SQL請求轉化成對一個或多個Tablet的數據訪問。SQL層會按照以下順序經過一系列組件來處理一個SQL&#xff1a; Parser -->Resolver-->Transformer-->Optimizer-->CodeGenerator-->Executor。視頻講解如下 【趙渝強老師】O…

從“高配”到“普惠”,黑芝麻智能攜手Nullmax打造輔助駕駛主流量產方案

近日&#xff0c;黑芝麻智能攜手Nullmax打造的輔助駕駛主流量產方案正式發布。該方案面向8-15萬元級別主流車型&#xff0c;基于單顆黑芝麻智能武當C1236跨域計算芯片&#xff0c;集成Nullmax全棧自研的軟件技術架構&#xff0c;結合領先的視覺感知算法&#xff0c;打造高性能輔…

信息安全認證體系全解析:從資質證明到行業準入的實踐指南

Hello&#xff01;大家好&#xff0c;小編是一名專注IT領域的資深探索家&#xff0c;大家發現了嗎&#xff1f;現在刷招聘軟件&#xff0c;國企安全崗必標 "CISP 優先"&#xff0c;外企招聘悄悄寫著 "CISSP 加分"—— 這些帶字母的證書到底是啥&#xff1f…

優雅地創建實體類——Builder 鏈式調用

我們來看以下的代碼。改造前構造實體類用重載構造器或用 setter 對變量進行賦值&#xff0c;一旦變量變多則需要對每個變量進行 set 賦值&#xff0c;并且有可能會賦值錯對象。 private static void test() {//1.構造器賦值Task task1 new Task("2023000000009439"…

如何輕松將照片從 iPhone 傳輸到 Android?

從 iPhone 換到 Android 手機后&#xff0c;你肯定不想丟掉珍貴的照片回憶吧&#xff1f;好在&#xff0c;本文分享了 6 種有效的解決方案&#xff0c;教你如何輕松地將照片從 iPhone 傳輸到 Android。 第 1 部分&#xff1a;如何通過 iReaShare Phone Transfer 將照片從 iPhon…

AI編程:[體驗]存量微服務架構下植入WebSocket的“踩坑”與“填坑”

一、核心需求 功能需求&#xff1a;用戶可以通過語音與AI對話&#xff0c;并實現類似ChatGPT的實時交互&#xff08;流式響應&#xff0c;打字機效果&#xff09;技術需求&#xff1a;在現有微服務架構中進行擴展&#xff08;SpringCloud&#xff09; 二、技術盲點 陌生領域 …

uniapp事件onLoad區分大小寫

區分大小寫。不然會不起作用。onLoad方法中的功能均不會被執行。 除了功能邏輯要檢查外。大小寫是要認真檢查的一部分

《打破微前端困局:樣式沖突與資源隔離破局指南》

微前端架構憑借其獨特優勢&#xff0c;正逐漸成為眾多大型項目的首選架構模式。它將一個龐大的前端應用拆解為多個相對獨立的子應用&#xff0c;每個子應用可以獨立開發、部署和維護&#xff0c;極大地提升了開發效率與團隊協作的靈活性。然而&#xff0c;隨著微前端架構的廣泛…

OpenCV——邊緣檢測

邊緣檢測 一、邊緣檢測二、邊緣檢測算子2.1、Sobel算子2.2、Scharr算子2.3、Laplacian算子 三、Canny邊緣檢測3.1、Canny邊緣檢測的步驟3.2、Canny算法的實現 一、邊緣檢測 邊緣是指圖像中像素的灰度值發生劇烈變化的區域&#xff1a; 圖像中的邊緣主要有以下幾種成因&#x…

2506認證資訊|工信部出手整治多品牌充電寶,WMC上海稍遜往年,RED修訂Common Charger,WiFi7 FCC測試

01 — 中國 工信部擬制定移動電源強制性國家標準 該標準將從以下方面全面提升移動電源安全性&#xff1a; 1. 擬在GB 31241、GB 4943.1基礎上&#xff0c;新增或加嚴過充電、針刺等試驗要求。 2. 擬提出影響電池安全的正負極材料、隔膜等關鍵材料要求。 3. 擬規范鋰離子電池…