我正在基于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')
加载命令可以很好地读取数据。输出为:
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暂停执行