将缺少值的数据作为数字数据加载

时间:2014-11-16 22:38:22

标签: r categorical-data missing-data

我正在尝试使用r中的mi包来计算缺失值并遇到问题。

当我将数据加载到r中时,它会将缺少值的列识别为因子变量。如果我使用命令

将其转换为数字变量
dataset$Income <- as.numeric(dataset$Income)

它将列转换为序数值(最小值为1,第二个最小值为2,等等)

我想将此列转换为数值,同时保留变量的原始值。我怎么能这样做?

编辑: 由于人们已经问过,这里是我的代码和数据的示例。

DATA:

96  GERMANY 6   1960    72480   73  50.24712    NA  0.83034767  0
97  GERMANY 6   1961    73123   85  48.68375    NA  0.79377610  0
98  GERMANY 6   1962    73739   98  48.01359    NA  0.70904115  0
99  GERMANY 6   1963    74340   132 46.93588    NA  0.68753213  0
100 GERMANY 6   1964    74954   146 47.89413    NA  0.67055298  0
101 GERMANY 6   1965    75638   160 47.51518    NA  0.64411484  0
102 GERMANY 6   1966    76206   172 48.46009    NA  0.58274711  0
103 GERMANY 6   1967    76368   183 48.18423    NA  0.57696055  0
104 GERMANY 6   1968    76584   194 48.87967    NA  0.64516949  0
105 GERMANY 6   1969    77143   210 49.36219    NA  0.55475352  0
106 GERMANY 6   1970    77783   227 49.52712    3,951.00    0.53083969  0
107 GERMANY 6   1971    78354   242 51.01421    4,282.00    0.51080717  0
108 GERMANY 6   1972    78717   254 51.02941    4,655.00    0.48773913  0
109 GERMANY 6   1973    78950   264 50.61033    5,110.00    0.48390087  0
110 GERMANY 6   1974    78966   270 48.82353    5,561.00    0.56562229  0
111 GERMANY 6   1975    78682   284 50.50279    6,092.00    0.56846030  0
112 GERMANY 6   1976    78298   301 49.22833    6,771.00    0.53536154  0
113 GERMANY 6   1977    78160   321 49.18999    7,479.00    0.55012371  0

代码:

Income <- dataset$Income

给了我一个因子变量,因为数据中有NA。如果我尝试将其变为数字

as.numeric(Income)

抛弃原始值,并用列的等级替换它们。我想保留原始值,同时仍然认识到缺失值。

1 个答案:

答案 0 :(得分:0)

来自德国的每个数据管理员都知道一个问题:NA的列用冒号来表示数字。但是R只知道没有数字分组的英文小数点样式。因此,此列被视为通常缩放的字符变量。

尝试删除冒号,然后您将获得数值。

顺便说一下,即使我们在德国写十进制冒号,像3,951.00这样的数字在语法上也没有意义。它们在其他语言中甚至没有意义。请参阅国际号码语法的these examples