MATLAB中ismissing函數(shù)用法小結(jié)
ismissing函數(shù)的功能是尋找缺失的值。
語法
TF = ismissing(A) TF = ismissing(A,indicator) TF = ismissing(___,'OutputFormat',format)
說明
?TF = ismissing(A) 返回一個邏輯數(shù)組,該數(shù)組指示輸入數(shù)據(jù)的哪些元素包含缺失值。TF 的大小與 A 的大小相同。
缺失值的定義取決于 A 的數(shù)據(jù)類型:?
- NaN - double、single、duration 和 calendarDuration
- NaT — datetime
- <missing> — string
- <undefined> — categorical
- {''} - 字符向量的 cell
如果 A
是表,則每個變量的數(shù)據(jù)類型定義該變量的缺失值。
對于沒有標(biāo)準(zhǔn)缺失值默認(rèn)定義的數(shù)據(jù)類型,ismissing(A) 會返回一個與 A 大小相同的由邏輯值 0 (false) 組成的數(shù)組或表。
TF = ismissing(A,indicator) 將 indicator 中的值視為缺失值指示符,而忽略上述語法中列出的所有默認(rèn)指示符。indicator 可以是單個指示符,也可以是多個指示符。例如,如果 A 是 double 類型的數(shù)組,則 ismissing(A,[0,-99]) 會將 0 和 -99 視為缺失的 double 值,而不是將 NaN 視為缺失值。
TF = ismissing(___,'OutputFormat',format) 為表或時間表輸入數(shù)據(jù)指定上述任一語法的輸出數(shù)據(jù)類型。
示例
向量中的 NaN 值
創(chuàng)建一個包含 NaN 值的行向量 A,并確定這些值在 A 中的位置。
A = [3 NaN 5 6 7 NaN NaN 9]; TF = ismissing(A) TF = 1x8 logical array 0 1 0 0 0 1 1 0
包含多個數(shù)據(jù)類型的表
創(chuàng)建一個包含不同數(shù)據(jù)類型的變量的表。
dblVar = [NaN; 2; 3; 4; 5; 6]; singleVar = single([1; NaN; 3; 4; 5; 6]); cellstrVar = {'one'; 'two'; ''; 'four'; 'five'; 'six'}; categoryVar = categorical({'red'; 'orange'; 'yellow'; ''; 'blue'; 'indigo'}); dateVar = [datetime(2015,1:4,15) NaT datetime(2015,6,15)]'; stringVar = ["a"; "b"; "c"; "d"; "e"; missing]; A = table(dblVar,singleVar,cellstrVar,categoryVar,dateVar,stringVar) A=6×6 table dblVar singleVar cellstrVar categoryVar dateVar stringVar ______ _________ __________ ___________ ___________ _________ NaN 1 {'one' } red 15-Jan-2015 "a" 2 NaN {'two' } orange 15-Feb-2015 "b" 3 3 {0x0 char} yellow 15-Mar-2015 "c" 4 4 {'four' } <undefined> 15-Apr-2015 "d" 5 5 {'five' } blue NaT "e" 6 6 {'six' } indigo 15-Jun-2015 <missing>
找出具有缺失值的元素。
ismissing 返回一個數(shù)組,對于 A 中具有缺失值的每個對應(yīng)元素,該數(shù)組中對應(yīng)的邏輯值均為 1。TF 的大小與 A 的大小相同。
TF = ismissing(A) TF = 6x6 logical array 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1
指定表中的缺失值指示符
創(chuàng)建一個表,其中 'NA'、''-99、NaN 和 Inf 表示缺失值。然后,找出具有缺失值的元素。
dblVar = [NaN; 3; Inf; 7; 9]; int8Var = int8([1; 3; 5; 7; -99]); cellstrVar = {'one'; 'three'; ''; 'NA'; 'nine'}; charVar = ['A'; 'C'; 'E'; ' '; 'I']; A = table(dblVar,int8Var,cellstrVar,charVar) A=5×4 table dblVar int8Var cellstrVar charVar ______ _______ __________ _______ NaN 1 {'one' } A 3 3 {'three' } C Inf 5 {0x0 char} E 7 7 {'NA' } 9 -99 {'nine' } I
指定缺失值指示符。ismissing 返回一個數(shù)組,對于 A 中具有缺失值的每個元素,該數(shù)組中對應(yīng)的邏輯值均為 1。
id = {'NA' '' -99 NaN Inf}; TF = ismissing(A,id) TF = 5x4 logical array 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0
ismissing 將忽略字符數(shù)組中的尾隨空白。因此,在將空字符向量 '' 指定為缺失值指示符后,ismissing 會將 A.cellstrVar 中的空字符向量以及 A.charVar 中的空白均識別為缺失值。
參數(shù)說明
A-輸入數(shù)據(jù),指定為向量、矩陣、多維數(shù)組、字符向量元胞數(shù)組、表或時間表。
- 如果 A 是時間表,則 ismissing 僅作用于表數(shù)據(jù),而忽略行時間向量中的 NaT 和 NaN 值。
- 如果 A 是元胞數(shù)組或包含元胞數(shù)組變量的表,則 ismissing 僅在元胞數(shù)組包含字符向量時檢測缺失元素。
indicator-缺失值指示符,指定為標(biāo)量、向量或元胞數(shù)組。
- 如果 A 為數(shù)組,則 indicator 必須為向量。
- 如果 A 為表或時間表,則 indicator 也可以是具有多個數(shù)據(jù)類型條目的元胞數(shù)組。
indicator 的條目指示 ismissing 視為缺失并覆蓋所有默認(rèn)標(biāo)準(zhǔn)缺失指示符的值。如果您要添加指示符,同時保留標(biāo)準(zhǔn)指示符列表,則必須包含所有默認(rèn)指示符作為 indicator 的元素。例如,如果 A 是包含 categorical 和數(shù)值的表,請使用 ismissing(A,{-99,'<undefined>'}) 指示 -99 為缺失的數(shù)值,但保留 <undefined> 為缺失的 categorical 值。
也可以使用 missing 值作為表示為 NaN、NaT、missing 或 <undefined> 的任何缺失數(shù)據(jù)的指示符。如果 A 是一個表,則 missing 也是缺失字符向量元胞數(shù)組 ({''}) 的指示符。
指示符的數(shù)據(jù)類型與 A
中條目的數(shù)據(jù)類型相匹配。下面列出了指示符與 A
的元素之間的其他數(shù)據(jù)類型匹配:
- double 指示符匹配 A 中的 double、single、整數(shù)和 logical 條目。
- string 和 char 指示符以及字符向量元胞數(shù)組形式的指示符匹配 A 中的 string 條目。
- string 和 char 指示符匹配 A 中的 categorical 條目。
示例: TF = ismissing(A,0) 僅將 0 識別為缺失值。
format-輸出數(shù)據(jù)類型,指定為下列值之一:
- 'logical' - 對于表或時間表輸入數(shù)據(jù),以邏輯數(shù)組形式返回輸出 TF。
- 'tabular' - 對于表輸入數(shù)據(jù),以表形式返回輸出 TF。對于時間表輸入數(shù)據(jù),以時間表形式返回輸出 TF。
對于向量、矩陣或多維數(shù)組輸入數(shù)據(jù),不支持 OutputFormat。
示例:ismissing(T,'OutputFormat','tabular')
提示
- 由于整數(shù)變量無法存儲 NaN,請使用特殊整數(shù)值(或者未使用過的整數(shù)值)來指示缺失的整數(shù)數(shù)據(jù),例如 -99。
- 有關(guān)查找缺失字符串的詳細(xì)信息,可以參考測試空字符串和缺失值。
- 對于結(jié)構(gòu)體數(shù)組或由非字符向量組成的元胞數(shù)組形式的輸入數(shù)據(jù),ismissing 返回 false。要查找結(jié)構(gòu)體數(shù)組中的缺失值,請使用 structfun 函數(shù)將 ismissing 應(yīng)用于結(jié)構(gòu)體中的每個字段。要查找由非字符向量組成的元胞數(shù)組中的缺失值,請使用 cellfun 函數(shù)將 ismissing 應(yīng)用于元胞數(shù)組中的每個元胞。
算法
對于字符向量元胞數(shù)組、字符數(shù)組或分類數(shù)組形式的指示符,ismissing 以不同的方式處理前導(dǎo)和尾隨空白。
- 對于字符向量元胞數(shù)組,ismissing 不會忽略指示符空白。所有字符向量必須完全匹配。
- 對于表變量中的字符數(shù)組,ismissing 會忽略指示符中的尾隨空白。
- 對于分類數(shù)組,ismissing 會忽略指示符中的前導(dǎo)和尾隨空白。
到此這篇關(guān)于MATLAB中ismissing函數(shù)用法小結(jié)的文章就介紹到這了,更多相關(guān)MATLAB ismissing函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中for與forEach分別如何跳出循環(huán)
forEach的優(yōu)勢一個是它的回調(diào)函數(shù)形成了一個作用域,它的curItem和i不會像for循環(huán)一樣污染全局變量,這篇文章主要給大家介紹了關(guān)于JavaScript中for與forEach分別如何跳出循環(huán)的相關(guān)資料,需要的朋友可以參考下2024-01-01JavaScript?中?this?關(guān)鍵字的作用及改變其上下文的方法
這篇文章主要介紹了JavaScript?中?this?關(guān)鍵字的作用和如何改變其上下文,通過使用?call,?apply,?bind?方法,可以改變函數(shù)中的?this?指向,從而在不同的上下文中使用同一個函數(shù),需要的朋友可以參考下2023-01-01使用JSON格式提交數(shù)據(jù)到服務(wù)端的實(shí)例代碼
這篇文章主要介紹了使用JSON格式提交數(shù)據(jù)到服務(wù)端的實(shí)例代碼,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下2018-04-04淺析如何使用JavaScript輕松實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript輕松實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10javascript 對象 與 prototype 原型用法實(shí)例分析
這篇文章主要介紹了javascript 對象 與 prototype 原型用法,結(jié)合實(shí)例形式分析了javascript 對象 與 prototype 原型實(shí)現(xiàn)對象創(chuàng)建、繼承、拷貝等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11