将某个值以上的因子转换为NA

时间:2013-11-04 08:29:46

标签: r na r-factor

我有一个250万像素的data.frame。 32个变量,所有因素。一个变量包含0到999之间的数字。我想将99以上的所有数字转换为NA,因为模型只接受2位数字。

谢谢,

1 个答案:

答案 0 :(得分:1)

######making example data set######
ex=matrix(as.factor(rnorm(6,100,10)),3,2)

ex

#           [,1]      [,2]
# [1,] 113.29893 101.54136
# [2,]  91.55164 101.45872
# [3,] 101.14473  88.19593

ex2=data.frame(ex)
###### solution ######    
ex3=apply(ex2,2,as.numeric)

ex3[ex3>99]=NA

ex3
#         X1       X2
# 1       NA       NA
# 2 91.55164       NA
# 3       NA 88.19593