小编Raf*_*ael的帖子

合并不同大小的数据框和重复值

我需要合并两个不同大小的数据帧.较大的one(df1)有一个具有多个重复值(licto)df2的列licto,较短的one()具有该列,但其值不会重复.df2也有一个ID列.我需要一个df1带有ID 的新列df2,根据重复的值重复licto.下面的例子可能会让它更清晰.

df1<-data.frame(licfrom=c(15470,16307,17121,15350,16982,17182,20319,16727,16946,16262,16605,
              16607,15924,15399,15404,16739,16839,16842,16899,16157,15399),
        licto=c(17121,17121,17121,16982,16982,16982,16982,16946,16946,16262,16607,
            16607,15924,16839,16839,16839,16839,16839,16839,16157,15399))
Run Code Online (Sandbox Code Playgroud)

.

df2<-data.frame(licto=c(17121,16982,16946,16607,15924,16839,16157,15399),
        fisherID=c(160,760,770,406,106,2196,17323,2441))
Run Code Online (Sandbox Code Playgroud)

我的数据框看起来像这样:

df1                 df2 
licfrom licto       licto   fisherID
15470   17121       17121   160
16307   17121       16982   760
17121   17121       16946   770
15350   16982       16262   947
16982   16982       16607   406
17182   16982       15924   106
20319   16982       16839   2196
16727   16946       16157   17323
16946   16946       15399   2441
16262   16262           
16605   16607           
16607   16607           
15924   15924           
15399   16839           
15404   16839           
16739   16839 …
Run Code Online (Sandbox Code Playgroud)

merge r

11
推荐指数
1
解决办法
9420
查看次数

两个刻度在同一轴上

我不确定是否有可能做我想做的事.我想用两个比例绘制一个x轴,如下图所示.非常感谢,

在此输入图像描述

r

5
推荐指数
2
解决办法
256
查看次数

合并行并将其值相加

下面是我原始数据框的一小部分.我需要那些在特定的行合并id是在特定的季节重复和licvessel是不同的.通过结合我需要总和qttygrossTon.

请以id 431中的season 1998为例(*).

season   lic     id  qtty   vessel   grossTon
…   
1998    16350   431  40     435       57
1998    16353   431  28     303       22.54
…   
Run Code Online (Sandbox Code Playgroud)

同一主题431有两种不同的lic(16350和16353)和两种不同的vessels(435和303).在这个特定情况下预期的结果是:

  season     lic       id   qtty  vessel    grossTon
    …
    1998    16350      431   68     435     79.54
    …
Run Code Online (Sandbox Code Playgroud)

我不介意它licvessel生成的行中提醒,我要的是保持season,id并将得到的总和qttygrossTon.在上面的示例中,我手动选择lic 16350vessel 435.

说实话,我不知道该怎么做,所以我非常感谢任何帮助.

谢谢 …

aggregate r

5
推荐指数
2
解决办法
2万
查看次数

通过公共列R合并不同长度的表

我有两个不同长度的表,我需要将它们合并为两个常见的列(季节和客户端),并在没有共同元素的情况下用NA填充单元格.下面我展示了我需要的两张原始表和最终表中的一小部分.我尝试了许多没有成功的事情.

season  client.ID   qtty
1998    13  30
1999    13  30
2000    13  29
1998    28  18
1999    28  18
2000    28  18
1998    35  21
1999    35  21
2000    35  21

season  client.ID   vessel.ID   overLength
1998    28  29  17.1
1998    28  1809    4.26
1998    28  2215    9.45
1998    28  4173    5.8
1998    28  8151    4.5
1999    28  29  17.1
1999    28  1809    4.26
1999    28  2215    9.45
1999    28  4173    5.8
1999    28  8151    4.5
2000    28  29  17.1
2000 …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
1万
查看次数

将多个条件应用于数据框的不同列

我有以下数据框:

id1 id2 qtty    cat output
15994   15994   30  1   1
25787   26275   7   2   1
122301  122301  0   0   0
36199   35333   14  2   1
36199   36199   15  1   1
46223   45746   14  2   1
46223   46223   15  1   1
80570   80570   0   0   0
55728   55728   1   1   1
94218   94218   0   0   0
69456   66837   5   2   1
Run Code Online (Sandbox Code Playgroud)

cat我想根据以下条件生成的列在哪里:

id1=id2 and qtty=0 then cat=0
id1=id2 and qtty>0 then cat=1
id1!=id2 and qtty=0 then cat=2
id1!=id2 and …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
113
查看次数

添加新行,在变量列中填充连续年份和0

我有一个3列表(年份,ID,变量).对于我需要的每个个人ID,我需要在下一年添加一个新行,在变量列中添加一个0.我的难点是每个ID都有不同的行数(年).

这可能是原始表:

ID  year    var
1   1998    2
1   1999    5
1   2000    6
1   2001    6
1   2002    6
2   1998    12
2   1999    12
3   1998    5
3   1999    5
3   2000    4
Run Code Online (Sandbox Code Playgroud)

......这就是我需要的:

ID  year    var
1   1998    2
1   1999    5
1   2000    6
1   2001    6
1   2002    6
1   2003    0
2   1998    12
2   1999    12
2   2000    0
3   1998    5
3   1999    5
3   2000    4
3   2001    0
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

干杯

r

0
推荐指数
1
解决办法
81
查看次数

标签 统计

r ×6

aggregate ×1

merge ×1