簡體   English   中英

從數據框中刪除指定級別的因子行

[英]remove rows of specified levels of factor from dataframe

我有一個在R中解決的非常簡單的問題,但是我一直在苦苦掙扎一段時間,卻沒有找到合適的解決方案。

從以下數據框中,我只需要完全刪除包含“ U”表示“性別”的任何行,同時還刪除“性”因子中的“ U”級別。 而且我還希望能夠通過指定ID號向量來刪除我選擇的任何ID。 我的實際數據集比這大得多。

datf <- read.table(text = "ID   Sex Mor SITE
                           110   F   W    1
                           111   M   W    2
                           112   M   B    4
                           135   F   W    3
                           556   M   B    1
                           557   U   B    1
                           558   M   W    2",
                   header = TRUE)

我以為我可以解決這個問題,但是我嘗試了該網站上建議的各種方法,例如droplevels,但我似乎無法弄清楚。 非常感謝您的幫助!

  • 刪除Sex == 'U'並放下

     datf <- droplevels(datf[!datf$Sex == 'U',]) str(datf) 'data.frame': 6 obs. of 4 variables: $ ID : int 110 111 112 135 556 558 $ Sex : Factor w/ 2 levels "F","M": 1 2 2 1 2 2 $ Mor : Factor w/ 2 levels "B","W": 2 2 1 2 1 2 $ SITE: int 1 2 4 3 1 2 
  • 刪除向量中ID所在的任何行

     datf <- datf[!(datf$ID %in% c(110, 558)),] datf ID Sex Mor SITE 2 111 MW 2 3 112 MB 4 4 135 FW 3 5 556 MB 1 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM