全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2907 4
2021-02-20
问题示例:我有两个数据框Data1和Data2请见下图(为方便展示,放在了一个表中,中间以空白列隔开),我希望将Data2中Ratio列的数值按ID号赋给Data1中的空白列(Ratio from Data2列)。如果ID相同,则赋予相同数值。如Data1中ID为A的有5行,则此5行在Ratio from Data2列的值均应为0.04。请问有什么R函数可以方便地完成这一操作。小白在此先谢过了!
Data1Data2
ID

Values

Ratio from Data2

ID

Ratio

A

0.145945634

A

0.04

A

0.14396391

B

0.14

A

0.13982855

C

0.15

A

0.135692763

D

0.34

A

0.134204959

E

0.53

B

0.128215271

F

0.13

B

0.126822839

G

0.21

B

0.126005124

H

0.17

C

0.121219095

I

0.12

C

0.120641914

J

0.11

C

0.119769678

K

0.07

C

0.119030046

C

0.116167505

C

0.115053331

C

0.115026141

C

0.114760197

C

0.114596269

C

0.114565784

D

0.114547963

D

0.11345414

E

0.112735662

E

0.112156812

E

0.111970311

E

0.111357446

E

0.11124341

F

0.111175774

F

0.111101825

G

0.11096284

G

0.110785531

G

0.110404219

G

0.109572704

H

0.108534145

H

0.108121629

H

0.107527172

I

0.106849994

I

0.106833391

I

0.106587714

J

0.106438869

J

0.105706055

K

0.00392837

K

0.18293745

K

0.10238463

K

0.098273625



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-2-20 17:41:50
tmp = table(Data1$ID)
Data2$Ratio_from_Data2 = rep(Data2$Ratio,tmp)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-2-20 19:15:04
szxship 发表于 2021-2-20 17:41
tmp = table(Data1$ID)
Data2$Ratio_from_Data2 = rep(Data2$Ratio,tmp)
非常感谢!!按您说的方法已解决此问题。看来我对table和rep函数的理解还是太浅薄了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-2-21 07:52:38
library(dplyr)
newData <- data1 %>% left_join(data2, by = "ID")
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-2-21 15:08:04
llb_321 发表于 2021-2-21 07:52
library(dplyr)
newData % left_join(data2, by = "ID")
多谢!这个函数用法我还有些陌生,我学习一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群