R語言按照行名或列名刪除對應的行列

2021-10-10 18:42:45 字數 1806 閱讀 6994

按照行名或列名刪除對應的行列/

data[ , !colnames(data) %in% c("b","d")]
!函式比which好用,因為which如果選中不存在的行列名,將刪除所有內容

x[,-grep("b",colnames(x))]
x[,-grep("b|d",colnames(x))]
x[,!grepl("b|d",colnames(x))]
grepl與grep的區別在於:x[,-grep("b",colnames(x))]如果沒有列名包含b則將不返回任何列,而不是根據需要返回所有列。考慮x <- iris乙個例子。這是將負索引與計算值一起使用的問題。考慮grepl代替。 –馬修·倫德伯格 (  matthew lundberg)③

subset(df, select=-c(z,u)) # 不要用帶引號的列名 !!!!

subset(df, select=c(x,y)) ④

dplyr::select(df2, -c(x, y))

·data[ , !colnames(data) %in% c("b","d")]

解釋:!函式比which好用,因為which如果選中不存在的行列名,將刪除所有內容

·subset(  df, select=-c(z,u)  )

解釋:當選取的是中文列名,這個方法不好用

·dplyr::select(  df2, -c(x, y)  )

解釋:有效解決了subset函式無法選取刪除中文列名的問題,例如:x<-dplyr::select(x,-c('缺陷名稱','包裝後成品補償重量'))

·x[,!grepl("b|d",colnames(x))]

更新: 給出了很好的補充,ofoliao大佬很讚!

無論行列,可以找出對應索引或構造相同長度true/false的向量,把不需要的行/列刪除

#index#

-which(colnames(df) %in% c("a","b"))

-grep("a|b",colnames(df)

#t/f vector#

!colnames(df) %in% c("a","b")

!grepl("a|b", colnames(df))

另外給出ofoliao大佬刪除資料集中包含缺失資料na的行的解釋

上帝在祂的獨生子耶穌**裡,並為了祂,將得兒子的名分的恩典,賜給一切稱義的人(弗1:5);他們由此而被歸入上帝的子民之列,得享上帝兒女的自由和特權(加4:4-5;羅8:17;約1:12);有祂的名字寫在他們身上(耶14:9;林後6:18;啟3:12);領受那賜人兒子名分的聖靈(羅8:15);可以坦然無懼地來到施恩寶座前(弗3:12;羅5:2);得以呼叫阿爸,父(加4:6);並蒙受祂如父一般的憐恤(詩103:13),保護(箴14:26),供給(太6:30,32;彼前5:7),管教(來12:6);永不被撇棄(哀3:31),且受印記,等候得贖的日子來到(弗4:30),並承受應許(來6:12),為上帝永遠救恩的後嗣(彼前1:3,4;來1:14)。——《威斯敏斯德信條·論得兒子的名分》感恩❤

r-按照行名或列名刪除對應的行列 | 暗之洋光

%e6%8c%89%e7%85%a7%e8%a1%8c%e5%90%8d%e6%88%96%e5%88%97%e5%90%8d%e5%88%a0%e9%99%a4%e5%af%b9%e5%ba%94%e7%9a%84%e8%a1%8c%e5%88%97/

r 重新命名 列名 R 定義資料框的行名和列名

r語言定義資料框的行名和列名 統計學與r讀書筆記 徐俊曉 1 首先是直接輸入資料 data.frame row.names null,check.rows false,check.names true,fix.empty.names true,stringsasfactors default.str...

SQL 指定表名和列名,刪除對應的列

create procedure dbo proc dropcolumn tablename varchar 30 columnname varchar 30 as 功能 刪除字段,同時刪除約束 if not exists select from syscolumns a inner join sy...

R語言《從源資料選入指定的行或列》

選取除 q3 q4 以外的資料 myvars 這行 的意思是從names leadership 中的每乙個檢查其中的每乙個元素是否被包含於c q3 q4 所以myvars乙個由真假值組成的vector 那麼這就可以選出leadership中不是q3 q4的列 以三行為組 最後一組可能不滿三行 只選取...