可能性のある複製:
R-data.frameのNAを持つ行を削除
複数の列を持つsub.newという名前のデータフレームがあります。そして、NA
または_blank space
_ ""を含むセルを除外しようとしています。subset()
を使用しようとしましたが、特定の列条件を対象としています。とにかくデータフレーム全体をスキャンして、セルがNA
または_blank space
_でないサブセットを作成する必要はありますか?
以下の例では、最初の行のみを保持する必要があります。
_# ID SNP ILMN_Strand Customer_Strand
ID1234 [A/G] TOP BOT
Non-Specific NSB (Bgnd) Green
Non-Polymorphic NP (A) Red
Non-Polymorphic NP (T) Purple
Non-Polymorphic NP (C) Green
Non-Polymorphic NP (G) Blue
Restoration Restore Green
_
助言がありますか?ありがとう
さらなる分析の前に、すべての ""(空白セル)をNAに設定することをお勧めします。
ファイルから入力を読み取る場合は、すべての「」をNAにキャストすることをお勧めします。
_foo <- read.table(file="Your_file.txt", na.strings=c("", "NA"), sep="\t") # if your file is tab delimited
_
テーブルがすでにロードされている場合は、次のように行動できます。
_foo[foo==""] <- NA
_
次に、NAのない行のみを保持するには、na.omit()
を使用できます。
_foo <- na.omit(foo)
_
または、NAのない列を保持するには:
_foo <- foo[, colSums(is.na(foo)) == 0]
_
どんな種類のデータセットがあるのか正確にはわからないので、一般的な答えを提供します。
x <- c(1,2,NA,3,4,5)
y <- c(1,2,3,NA,6,8)
my.data <- data.frame(x, y)
> my.data
x y
1 1 1
2 2 2
3 NA 3
4 3 NA
5 4 6
6 5 8
# Exclude rows with NA values
my.data[complete.cases(my.data),]
x y
1 1 1
2 2 2
5 4 6
6 5 8