如何用一列中的非数字值减去数据框中的数字列

时间:2019-06-08 14:31:03

标签: r

创建一个新的数据框,其中包含每个省的移民人数增加或减少的结果。 -提示:减去“至”列的“发件人”列,并添加新列以反映新数据框中的更改。

我想在R中知道如何对数据框中的数字列执行减法功能,而该列中有非数字值。

当我使用

diff(mig_rename,lag=1,difference=1)

我收到错误消息

  

r [i1]-r [-length(r):-( length(r)-lag + 1L)]错误:
    二进制运算符的非数字参数“

我的数据:

mig_rename <- read.table(text="
   From   To Migrants
1   PEI NFLD      255
2    NS NFLD     2380
3    NB NFLD     1140
4   QUE NFLD     2145
5   ONT NFLD     6295
6   MAN NFLD      215
7  SASK NFLD      185
8  ALTA NFLD      425
9    BC NFLD      425
10 NFLD  PEI      340
11   NS  PEI     1975
12   NB  PEI     1310
13  QUE  PEI      755
14  ONT  PEI     3060
15  MAN  PEI      400
16 SASK  PEI       95
17 ALTA  PEI      185
18   BC  PEI      330
19 NFLD   NS     3340
20  PEI   NS     2185
21   NB   NS     8310
22  QUE   NS     6090
23  ONT   NS    18805
24  MAN   NS     1825
25 SASK   NS      840
26 ALTA   NS     2000
27   BC   NS     2490
28 NFLD   NB     1740
29  PEI   NB     1335
30   NS   NB     7635
31  QUE   NB     9315
32  ONT   NB    12455
33  MAN   NB     1405
34 SASK   NB      480
35 ALTA   NB     1130
36   BC   NB     1195
37 NFLD  QUE     2235
38  PEI  QUE      635
39   NS  QUE     4350
40   NB  QUE     7905
41  ONT  QUE    48370
42  MAN  QUE     4630
43 SASK  QUE     1515
44 ALTA  QUE     3305
45   BC  QUE     4740
46 NFLD  ONT    17860
47  PEI  ONT     3570
48   NS  ONT    25730
49   NB  ONT    18550
50  QUE  ONT    99430
51  MAN  ONT    23785
52 SASK  ONT    11805
53 ALTA  ONT    17655
54   BC  ONT    21205
55 NFLD  MAN      680
56  PEI  MAN      265
57   NS  MAN     1655
58   NB  MAN     1355
59  QUE  MAN     4330
60  ONT  MAN    18245", header=TRUE)

0 个答案:

没有答案