在R中使用merge命令连接表

时间:2016-06-21 21:13:29

标签: r join merge

我有两个表,我想使用“SPENO”列加入,但收到此错误:

Error in fix.by(by.x, x) : 'by' must specify a uniquely valid column

以下是我正在使用的命令:

setwd("P:/Users/Richmond/PEP_tagData")

read.csv("pepdeployments.csv", header=TRUE)
read.csv("pepdeployments_endDate.csv", header=TRUE)

pep_deploy1 <- "pepdeployments.csv"
pep_deploy2 <- "pepdeployments_endDate.csv"

combined <- merge(x=pep_deploy1,y=pep_deploy2,by.x="SPENO",by.y="SPENO")

有关我做错的任何建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

您没有正确阅读数据。您需要将read.csv(...)分配给对象

setwd("P:/Users/Richmond/PEP_tagData")

pep_deploy1 <- read.csv("pepdeployments.csv", header=TRUE)
pep_deploy2 <- read.csv("pepdeployments_endDate.csv", header=TRUE)

combined <- merge(x=pep_deploy1,y=pep_deploy2,by.x="SPENO",by.y="SPENO")

您正在做的是:

读取.csv文件,但只是将其打印到控制台。它没有被分配给任何对象:

read.csv("pepdeployments.csv", header=TRUE)
read.csv("pepdeployments_endDate.csv", header=TRUE)

然后将字符串pepdeployments.csvpepdeployments_endDate.csv分配给对象。所以你的对象就是那些字符串,而不是数据。

pep_deploy1 <- "pepdeployments.csv"
pep_deploy2 <- "pepdeployments_endDate.csv"