划分2个相同长度的数字向量

时间:2012-05-29 05:47:49

标签: r vector numeric divide

deflator <- nominalGDP/realGDP
WARNINING MSG  In Ops.factor(nominalGDP, realGDP) 

问题是得到:

deflator = nominal/real

使用nominalGDP和realGDP计算平减指数值。 你应该得到一个名为deflator的数字向量,如下所示:

> deflator
[1] 0.9628929 0.9596746 0.9747274 0.9832532 0.9851884
[6] 0.9797770 0.9913502 1.0100561 1.0176906 1.0092516
[11] 1.0185932 1.0241043 1.0197975 1.0174097 1.0297328
... [71] 1.4497201

nominalGDP包含

> nominalGDP
 [1] 21382 21585 20557 23720 22748 23110 22005 25211 24219
[10] 24436 23502 26554 24777 25538 24624 27279 25550 25505
[19] 24664 28142 26563 26794 26262 29487 28635 28204 27694
[28] 31593 30016 30688 29517 33754 32365 31875 31847 35178
[37] 33920 33715 33882 37685 36742 36890 36528 40263 38357
[46] 39229 38836 42192 40316 40541 40356 44830 42908 43930
[55] 43094 48599 46076 45562 43637 49231 46665 45711 43757
[64] 49409 48078 47773 46120 53168 51037 50191 48944

,realGDP包含

> realGDP
 [1] 22,206 22,492 21,090 24,124 23,090 23,587 22,197 24,960 23,798 24,212
[11] 23,073 25,929 24,296 25,101 23,913 26,492 24,774 24,896 23,835 26,852
[21] 25,734 25,883 25,244 28,225 27,260 26,894 25,968 28,891 27,372 27,543
[31] 26,753 30,045 28,556 28,490 28,093 31,702 30,214 29,870 29,387 32,535
[41] 31,427 31,310 30,577 33,655 32,125 32,372 31,760 34,753 32,968 32,922
[51] 32,103 35,658 34,033 34,470 33,195 36,489 34,400 33,685 32,680 36,487
[61] 34,328 34,194 32,073 36,495 35,201 34,843 33,207 37,279 35,666 35,028
[71] 33,761
71 Levels: 21,090 22,197 22,206 22,492 23,073 23,090 23,587 ... 37,279

我尝试的第一种方法是使用/简单地划分两个列表:

nominalGDP/realGDP  

并给我一个警告信息。

我认为两者都是数字向量,但似乎它们彼此不对应。我也尝试了mapply("/", nominalGDP, realGDP)

请让我知道我在这里缺少的东西,以找出正确的结果。

我不想答案本身,我想知道它为什么不起作用。

2 个答案:

答案 0 :(得分:4)

您的realGDP是因子类。我认为这是因为你有逗号作为小数点,R将其视为因子(不是数字)。在读取数据或将逗号更改为输入文件中的点时,应使用参数dec=','

答案 1 :(得分:2)

线索位于`realGDP'的印刷表示的末尾。这是一个因子变量。你需要这样做:

 readGDP <- as.numeric(as.character(realGDP))

...那么你将有两个数字向量。