2015-10-20 134 views
0

我在苏格兰议会有一张待决法案表。其中一列(BillTypeID)填充了数字,表明每种账单的类型(有七种不同类型的账单)。使用另一个数据框替换数据帧列中的值

我有一个描述,其数量相当于另一个表,其中票据类型(1 =“执行”,2 =“会员”等)

我想与相应的替换我的主表中的号码描述每个账单类型的字符串。

数据:

bills <- jsonlite::fromJSON(url("https://data.parliament.scot/api/bills")) 
bill_stages <- jsonlite::fromJSON(url("https://data.parliament.scot/api/billstages")) 
+3

你可能会想要merge()这两个数据集。请参阅'?merge' – ialm

+0

谢谢!由于两张表的长度不一样,合并似乎并不奏效。 –

+3

它们不必是相同的长度。看到我的答案。 –

回答

2

这可能是重复的,但我无法找到相应的答案...

要做到这一点是merge()最简单的方法。

d1 <- data.frame(billtype=c(1,1,3,3), 
      bill=c("first","second","third","fourth")) 
d2 <- data.frame(billtype=c(1,2,3), 
       billtypename=c("foo","bar","bletch")) 
d3 <- merge(d1,d2) 
## 
## billtype bill billtypename 
## 1  1 first   foo 
## 2  1 second   foo 
## 3  3 third  bletch 
## 4  3 fourth  bletch 

...然后删除billtype列,如果你不想要了。您可以使用match()更有效地做到这一点(请参阅我对链接问题的回答)。

相关问题