激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - R語言 - R語言:數據篩選match的使用詳解

R語言:數據篩選match的使用詳解

2022-01-12 14:39劉永鑫Adam R語言

這篇文章主要介紹了R語言:數據篩選match的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

今天來詳解一下此函數的用法。

match

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

match函數使用格式有如下兩種:

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

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

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

?
1
x %in% table

參數詳解

x: 向量, 要匹配的值;

table: 向量, 被匹配的值;

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

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

match函數是一個完全匹配函數, 當兩個元素類型不一樣時, 如果進行類型轉換后匹配得上的話, 則仍可匹配, 可看下例.

匹配上且返回位置

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

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

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

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

pmatch

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

匹配一共分成三步:

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

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

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

pmatch函數的格式

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

x: 向量, 要匹配的值;

table: 向量, 被匹配的值;

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

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

默認不允許重復使用table中元素,返回位置1 2 3

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

允許重復,返回位置1 1 1

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

補充:R語言實例-數據過濾

1、問題

一組數據,變量有40個,就是40列。

我要做數據篩選。

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

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

請問具體的R語言語句應該怎么寫?

2、解決

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

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

3、注意

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

?
1
2
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).

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://metagenome.blog.csdn.net/article/details/84927296

延伸 · 閱讀

精彩推薦
  • R語言R語言中的vector(向量),array(數組)使用總結

    R語言中的vector(向量),array(數組)使用總結

    這篇文章主要介紹了R語言中的vector(向量),array(數組)使用總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要...

    A葉子葉來5772021-11-14
  • R語言R語言讀取xls與xlsx格式文件過程

    R語言讀取xls與xlsx格式文件過程

    這篇文章主要為大家介紹了使用R語言讀取xls與xlsx格式文件的過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪...

    Kanny廣小隸11982022-01-20
  • R語言R語言gsub替換字符工具的具體使用

    R語言gsub替換字符工具的具體使用

    這篇文章主要介紹了R語言gsub替換字符工具的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    lztttao10372021-12-24
  • R語言R語言實現支持向量機SVM應用案例

    R語言實現支持向量機SVM應用案例

    本文主要介紹了R語言實現支持向量機SVM應用案例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    一天_pika5222022-01-18
  • R語言R語言中qplot()函數的用法說明

    R語言中qplot()函數的用法說明

    這篇文章主要介紹了R語言中qplot()函數的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    Jack_丁明12752022-01-05
  • R語言基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    這篇文章主要介紹了基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    truffle52815052022-01-05
  • R語言如何用R語言繪制散點圖

    如何用R語言繪制散點圖

    這篇文章主要介紹了如何用R語言繪制散點圖,幫助大家更好的理解和學習使用R語言,感興趣的朋友可以了解下...

    菜鳥教程13002021-12-23
  • R語言R語言常量知識點總結

    R語言常量知識點總結

    在本篇文章里小編給大家整理了一篇關于R語言常量知識點總結內容,有興趣的朋友們可以學習分享下。...

    R語言教程網12102021-12-29
主站蜘蛛池模板: 欧美a∨亚洲欧美亚洲 | 成人毛片在线免费观看 | 国产精品久久久久久模特 | 91丝袜 | 宅男视频在线观看免费 | 免费a级毛片永久免费 | 一本精品999爽爽久久久 | 黄色片免费在线播放 | www久久艹| 最新中文字幕在线视频 | 久久精精 | 亚洲成人涩涩 | asian gaysex| 欧美性受xxxxxx黑人xyx性爽 | 欧美五月婷婷 | 亚洲视频观看 | 国产一区二区欧美 | 性看小视频 | 欧美视频一区二区三区在线观看 | 欧美精品一级 | 97久久曰曰久久久 | 九九热在线视频免费观看 | 欧美一级做一a做片性视频 日韩黄色片免费看 | 久草手机视频在线观看 | 久久人添人人爽人人爽人人片av | 91美女福利视频 | 香蕉黄色网| 午夜激情视频网站 | av之家在线观看 | 在线日韩av电影 | 日本黄色免费播放 | 久久亚洲第一 | 国产精品aⅴ | 久久亚洲精品国产一区 | 美女性感毛片 | 激情综合在线观看 | 亚洲国产超高清a毛毛片 | 一区二区美女视频 | 精品一区二区三区日本 | 欧美一区二区三区久久综合 | 国产精品一区二区视频 |