欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言:數(shù)據(jù)篩選match的使用詳解

 更新時間:2021年04月22日 10:11:42   作者:劉永鑫Adam  
這篇文章主要介紹了R語言:數(shù)據(jù)篩選match的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

數(shù)據(jù)篩選是在分析中最常用的步驟,如微生物組分析中,你的OTU表、實(shí)驗設(shè)計、物種注釋之間都要不斷篩選,來進(jìn)行數(shù)據(jù)對齊,或局部分析。

今天來詳解一下此函數(shù)的用法。

match

match:匹配兩個向量,返回x中存在的返回索引或TRUE、FALSE

match函數(shù)使用格式有如下兩種:

第一種方便設(shè)置參數(shù),返回x中元素在table中的位置

match(x, table, nomatch = NA_integer_, incomparables = NULL)

第二種簡潔,返回x中每個元素在table中是否存在

x %in% table

參數(shù)詳解

x: 向量, 要匹配的值;

table: 向量, 被匹配的值;

nomatch: 沒匹配上的返回值, 必須是整數(shù);

incomparables: 指定不能用來匹配的值.

match函數(shù)是一個完全匹配函數(shù), 當(dāng)兩個元素類型不一樣時, 如果進(jìn)行類型轉(zhuǎn)換后匹配得上的話, 則仍可匹配, 可看下例.

匹配上且返回位置

match(c(1, "TRUE"), c(T, 0, "1"))

返回3 1,即1位于表中的3號位,TRUE位于1號位,且T和TRUE可匹配成功

c(1, "TRUE", F) %in% c(T, 0, "1")

返回TRUE TRUE FALSE,表示每個元素在table中是否存在

pmatch

pmatch函數(shù)是一個部分匹配函數(shù), 依次從x里面挑出元素, 對照table進(jìn)行匹配, 若匹配上則剔除匹配上的值, 不再參與下次匹配, duplicate.ok可設(shè)置是否剔除; 對于某一個元素,

匹配一共分成三步:

1、如果可以完全匹配, 則認(rèn)為匹配上了, 返回table中的位置;

2、不滿足上述條件, 如果是唯一部分匹配, 則返回table中的位置;

3、不滿足上述條件, 則認(rèn)為沒有值與其匹配上.

pmatch函數(shù)的格式

pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)

x: 向量, 要匹配的值;

table: 向量, 被匹配的值;

nomatch: 沒匹配上的返回值, 必須是整數(shù);

duplicates.ok: table里面的元素是否可以適用多次.

默認(rèn)不允許重復(fù)使用table中元素,返回位置1 2 3

pmatch(rep(1, 3), rep(1, 5))

允許重復(fù),返回位置1 1 1

pmatch(rep(1, 3), rep(1, 5), duplicates.ok = TRUE)

補(bǔ)充:R語言實(shí)例-數(shù)據(jù)過濾

1、問題

一組數(shù)據(jù),變量有40個,就是40列。

我要做數(shù)據(jù)篩選。

1.第一列中包含語段"a11","a12","b23"。請注意是包含,實(shí)際不存在“a11”,往往是“a1120”之類的信息

2.第二列中不包含“美國”、“日本”等信息。請注意,也是不包含,而不是不等于。

請問具體的R語言語句應(yīng)該怎么寫?

2、解決

假設(shè)樓主的數(shù)據(jù)為一數(shù)據(jù)框,名字為“testdat”,第一列名"a",第二列名"b",則過濾語句為:

result<-subset(testdat,grepl("a11|a12|b23",testdat$a) & !grepl("美國|日本",testdat$b))

3、注意

grep()函數(shù)返回的是匹配元素的索引,grepl()返回的是匹配或不匹配的邏輯值:

grep(value = FALSE) returns a vector of the indices of the elements of x that yielded a match (or not, for invert = TRUE. This will be an integer vector unless the input is a long vector
grepl returns a logical vector (match or not for each element of x).

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • R語言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法

    R語言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法

    這篇文章主要介紹了R語言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 基于R語言賦值符號的區(qū)別說明

    基于R語言賦值符號的區(qū)別說明

    這篇文章主要介紹了基于R語言賦值符號的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 基于R語言xlsx安裝遇到的問題及解決方案

    基于R語言xlsx安裝遇到的問題及解決方案

    這篇文章主要介紹了基于R語言xlsx安裝遇到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言中向量和矩陣簡單運(yùn)算的實(shí)現(xiàn)

    R語言中向量和矩陣簡單運(yùn)算的實(shí)現(xiàn)

    這篇文章主要介紹了R語言中向量和矩陣簡單運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言的下載安裝圖文教程講解

    R語言的下載安裝圖文教程講解

    這篇文章主要介紹了R語言的下載安裝圖文教程講解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • R語言strsplit函數(shù)用法深入詳解

    R語言strsplit函數(shù)用法深入詳解

    這篇文章主要介紹了R語言strsplit函數(shù)用法深入詳解,代碼實(shí)例講解的很清晰,有感興趣的同學(xué)可以研究下
    2021-03-03
  • R語言中corrplot標(biāo)題居中及eps格式輸出

    R語言中corrplot標(biāo)題居中及eps格式輸出

    由于論文的需要,很多R語言繪圖需要eps格式矢量圖的方式進(jìn)行輸出,同時最近也需要繪制相關(guān)性圖,因此決定寫個博客作為記錄,有需要的朋友可以借鑒參考下
    2021-11-11
  • R語言繪圖數(shù)據(jù)可視化pie?chart餅圖

    R語言繪圖數(shù)據(jù)可視化pie?chart餅圖

    這篇文章主要介紹了R語言繪圖數(shù)據(jù)可視化pie?chart餅圖,教大家如何用R語言來畫大餅,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • 詳解R語言中生存分析模型與時間依賴性ROC曲線可視化

    詳解R語言中生存分析模型與時間依賴性ROC曲線可視化

    這篇文章主要介紹了R語言中生存分析模型與時間依賴性ROC曲線可視化,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • R語言中data.frame的常用操作總結(jié)

    R語言中data.frame的常用操作總結(jié)

    這篇文章主要介紹了R語言中data.frame的常用操作總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論