如何比较两个不同的数据帧(xlsx)并在Rstudio中提取相同的数据

时间:2017-11-02 10:41:09

标签: r excel merge

我有两个电子表格,第一个是我有一个目的地和一个要传输的数量,第二个是目的地,每个数量范围都有一个运输成本。

如何从第一个电子表格中提取一行,将其与第二个电子表格进行比较,找到相同目的地的正确范围并打印运输成本?!

这是我上传电子表格所做的工作:

library(openxlsx)
openxlsx::read.xlsx()
library(raster)
library(ggmap)
for(i in 1:14)
  {
  mat<-read.xlsx("C:/Users/Caterina/Dropbox/progetti lean/progetto data analytics/Cost_world.xlsx", sheet = i)
  mat
}

matr<-read.xlsx("C:/Users/Caterina/Dropbox/progetti lean/progetto data analytics/transport.xlsx")
matr
matr<-as.data.frame(matr)
if(y<- matr$NAZIONE==mat$Nazione
)
matr$NAZIONE[y]

1 个答案:

答案 0 :(得分:0)

如果要合并到表格,请确保所需的列具有通用名称,包括大小写,即小写和大写字母。

以下是一个使用公共列名称的合并:

> a = matrix(1:4,2,2)
> colnames(a) <- c("A","B")
> a
     A B
[1,] 1 3
[2,] 2 4
> b = matrix(c(1:2,5:6),2,2)
> colnames(b) <- c("A","C")
> b
     A C
[1,] 1 5
[2,] 2 6
> merge(a,b)
  A B C
1 1 3 5
2 2 4 6

但如果变量名称的情况不匹配,则merge(...)不会按列Aa进行合并:

> colnames(b) <- c("a","C")
> merge(a,b)
  A B a C
1 1 3 1 5
2 2 4 1 5
3 1 3 2 6
4 2 4 2 6