如何解决计算群集上R中的合并错误(fix.by(by.y,y)中的错误:“ by”必须指定唯一有效的列)

时间:2019-02-07 18:04:28

标签: r merge cluster-computing

我正在基于Linux的计算机群集上运行R代码。我想通过“ Sample_Name”合并两个SPSS数据集。代码可以在笔记本电脑上的R(v 3.5.2)上运行,但是在群集中运行代码(相同版本R)时,我始终收到此错误。

fix.by(by.y,y)中的错误:“ by”必须指定唯一有效的列 调用:merge-> merge-> merge.data.frame-> fix.by 执行停止

我尝试了每个版本的merge命令,并浏览了整个网站,但没有任何效果。同样,这在R上有效,但在群集上无效,因此我想知道在将文件加载到群集中时是否有误解。

数据集是同一类。列都是“字符”。我用Sample_Name的单引号和双引号(''和“”)和反斜杠()尝试了每个命令。我只想合并两个文件中的参与者。

从我在集群上的目录中加载文件一

file_one <- read_sav('/home/mydirectory/file_one.sav')

从群集上的目录中加载文件二

file_two <- read_sav('/home/mydirectory/file_two.sav')

加载命令可以很好地读取数据。输出为:

load output

通过“ Sample_Name”合并,两个文件都具有此列

file_three <- merge (file_one, file_two, by.x = 'Sample_Name', by.y = 
'Sample_Name') 

file_three <- merge (x=file_one, y=file_two, by.x = 'Sample_Name', by.y = 
'Sample_Name') 

file_three <- merge (x=file_one, y=file_two, by.x = c('Sample_Name'), by.y 
= c('Sample_Name')

file_three <- merge (x=file_one, y=file_two, by.x = file_one$Sample_Name, 
by.y = file_two$Sample_Name)

fix.by(by.y,y)中的错误:'by'必须指定唯一有效的列调用:merge-> merge-> merge.data.frame-> fix.by暂停执行

0 个答案:

没有答案