我已经尝试了在stackoverflow上找到的有关此主题的所有方法,但没有任何效果。
以下是我的数据集示例TEST:
x2000 x2001 x2002
100 1200 230
200 2002 280
: 1980 :
":"代表缺失值。问题是我不能用R接受的NA替换这个冒号。
我尝试过:
sum(TEST %in c(":"))
returns: [1] 0
TEST[TEST==":"] <-NA #does nothing
我尝试将文件保存为.csv,将值替换为&#34; NA&#34;在excel中,它仍然无能为力。列不是因素。如果列包含&#34;的值:&#34;那列是&#34; chr&#34;否则就是&#34; int&#34;。
答案 0 :(得分:2)
可能最简单的方法是在使用read.
系列函数读取数据时设置na.strings方法。以下是示例数据read.table
的示例:
df <- read.table(header=T, text="x2000 x2001 x2002
100 1200 230
200 2002 280
: 1980 : ", na.strings=":")
返回
df
x2000 x2001 x2002
1 100 1200 230
2 200 2002 280
3 NA 1980 NA
也许更重要的是,结果data.frame的结构是整数向量:
str(df)
'data.frame': 3 obs. of 3 variables:
$ x2000: int 100 200 NA
$ x2001: int 1200 2002 1980
$ x2002: int 230 280 NA
如果没有这个,你最终会得到整数向量和因子变量的混合,这会使清理过程复杂化。