2012-05-29 61 views
1
deflator <- nominalGDP/realGDP 
WARNINING MSG In Ops.factor(nominalGDP, realGDP) 

问题的2个数值向量是获得:除以相同的长度

deflator = nominal/real 

使用nominalGDP和realGDP计算缩减指数值。 您应该结束了一个数字矢量叫做平减指数,看起来像这样:

> 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)

请让我知道我在这里失踪以找出正确的结果。

我不想自己答案,我想知道为什么它不工作。 。

+0

realG DP是一个因素。请参阅“help(”factor“)”的标题为“警告”一节。 – Dason

回答

4

你的realGDP是因子类的,我认为这是因为你用逗号作为小数点,而R把它当作因子(不是数字),你应该在读取数据时使用参数dec=','或者在输入文件中改变逗号。

2

的线索是在`realGDP”打印形式结束这是一个因子变量你需要这样做:。

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

...那么你将有两个数值向量

+0

除非系统区域设置将逗号识别为小数点,否则这将不起作用。 –

+1

@ danas.zuokas查看预期的输出结果我并不认为逗号应该是小数点。 – Dason

+0

确实够了.... –