![](/img/trans.png)
[英]Remove any rows where values don't match across specific columns, except if other value(s) is NA
[英]Select columns that don't contain any NA value in R
如何選擇R中不包含任何NA
值的列? 只要列包含至少一個NA
,我想排除它。 最好的方法是什么? 我試圖使用sum(is.na(x))
來實現這一目標,但尚未成功。
另外,另一個R問題。 是否可以使用命令排除包含所有相同值的列? 例如,
column1 column2
row1 a b
row2 a c
row3 a c
我的目的是從我的矩陣中排除column1
,所以最終的結果是:
column2
row1 b
row2 c
row3 c
對於矩陣,您可以使用colSums(is.na(x)
來查找哪些列包含NA
值
給定矩陣x
x[, !colSums(is.na(x)), drop = FALSE]
將適當地分組。
對於data.frame
,使用lapply
或sapply
以及函數anyNA
會更有效
xdf[, sapply(xdf, Negate(anyNA)), drop = FALSE]
如果'mat1'是矩陣:
indx <- unique(which(is.na(mat1), arr.ind=TRUE)[,2])
subset(mat1, select=-indx)
也可以
new.df <- df[, colSums(is.na(df)) == 0 ]
這種方式允許您根據列中NA值的數量進行子集化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.