[英]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.