按照行名或列名刪除對應的行列/
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的列 以三行為組 最後一組可能不滿三行 只選取...