1. ホーム
  2. r

[解決済み] 空白のセルを "NA "に変更する

2023-02-22 09:06:24

質問

ここで リンク へのリンクです。

私の目標は、カテゴリ値や数値に関係なく、すべての空白セルに"NA"を割り当てることです。私は、以下のものを使用しています。 na.strings="".を使用しています。 . しかし、それはすべての空白のセルにNAを代入していません。

## reading the data
dat <- read.csv("data2.csv")
head(dat)
  mon hr        acc   alc sex spd axles door  reg                                 cond1 drug1
1   8 21 No Control  TRUE   F   0     2    2      Physical Impairment (Eyes, Ear, Limb)     A
2   7 20 No Control FALSE   M 900     2    2                                Inattentive     D
3   3  9 No Control FALSE   F 100     2    2 2004                                Normal     D
4   1 15 No Control FALSE   M   0     2    2      Physical Impairment (Eyes, Ear, Limb)     D
5   4 21 No Control FALSE      25    NA   NA                                                D
6   4 20 No Control    NA   F  30     2    4                Drinking Alcohol - Impaired     D
       inj1 PED_STATE st rac1
1     Fatal      <NA>  F <NA>
2  Moderate      <NA>  F <NA>
3  Moderate      <NA>  M <NA>
4 Complaint      <NA>  M <NA>
5 Complaint      <NA>  F <NA>
6  Moderate      <NA>  M <NA>


## using na.strings
dat2 <- read.csv("data2.csv", header=T, na.strings="")
head(dat2)
  mon hr        acc   alc sex spd axles door  reg                                 cond1 drug1
1   8 21 No Control  TRUE   F   0     2    2 <NA> Physical Impairment (Eyes, Ear, Limb)     A
2   7 20 No Control FALSE   M 900     2    2 <NA>                           Inattentive     D
3   3  9 No Control FALSE   F 100     2    2 2004                                Normal     D
4   1 15 No Control FALSE   M   0     2    2 <NA> Physical Impairment (Eyes, Ear, Limb)     D
5   4 21 No Control FALSE      25    NA   NA <NA>                                  <NA>     D
6   4 20 No Control    NA   F  30     2    4 <NA>           Drinking Alcohol - Impaired     D
       inj1 PED_STATE st rac1
1     Fatal        NA  F   NA
2  Moderate        NA  F   NA
3  Moderate        NA  M   NA
4 Complaint        NA  M   NA
5 Complaint        NA  F   NA
6  Moderate        NA  M   NA

どのように解決するのですか?

5行目の列 "sex." について話しているのだと思いますが、data2.csv ファイルでは、セルにスペースが含まれているため、R では空と見なされないということが考えられます。

また、5 行目の列 "axles" と "door" において、data2.csv から読み込んだ元の値は文字列 "NA" であることに気づきました。おそらく、これらもna.stringとして扱いたいのでしょう。これを行うには

dat2 <- read.csv("data2.csv", header=T, na.strings=c("","NA"))

EDITです。

data2.csvをダウンロードさせていただきました。はい、5行目の列 "sex"にスペースがあります。ということは

na.strings=c(""," ","NA")