全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1516 4
2018-04-21
各位大大好,
假如有兩個data frame,

xdata :
namecost
A

7.5

B

9

C

6.5



ydata :
index

name

amount

1

A

10

2

B

14

3

C

3

4

A

4

5

A

15

6

C

9

7

B

12

8

C

6

9

A

7


如何能在 ydata, 做出以下效果呢

index

name

amount

cost

1

A

10

7.5

2

B

14

9

3

C

3

6.5

4

A

4

7.5

5

A

15

7.5

6

C

9

6.5

7

B

12

9

8

C

6

6.5

9

A

7

7.5

二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-21 07:51:30
复制代码
二维码

扫码加我 拉你入群

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

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

2018-4-21 08:33:18
感謝大大
二维码

扫码加我 拉你入群

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

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

2018-4-21 15:53:09
用 dplyr 或 sqldf

xdata <- data.frame(name = c("A", "B", "C"), cost = c(7.5, 9, 6.5))
ydata <- data.frame(index = 1:9, name = c("A", "B", "C", "A", "A", "C", "B", "C", "A"), amount = c(10,14,3,4,15,9,12,6,7))

# use dplyr
install.packages('dplyr')
library(dplyr)
zdata=ydata%>%left_join(xdata)
zdata

# use sqldf
install.packages('sqldf')
library(sqldf)
zdata=sqldf('select a.*,b.* from ydata a left join xdata b on a.name=b.name')
zdata
二维码

扫码加我 拉你入群

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

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

2018-4-22 13:03:06
聽過dplyr包處理資料速度較快, 這個要存記. 也感謝你的熱心分享
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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