伙计,
我在合并两个数据帧时遇到了问题。我有两个数据帧。对于每个数据帧,我在行/列(原始数据非常大)方面包含了有限的数据,如下所示:
DF1
Cost.Centre.Code GBP
322018 0.00000
400629 0.00000
400629 163.60005
400629 0.00000
400629 28.00001
400629 0.00000
DF2
Cost.Centre.Code Function
400629 Global Functions
570001 Business Manages Services
570002 Business Manages Services
570003 Global Functions
570004 Business Manages Services
570005 OTHER
我正在尝试从DF1中获取DF2的值。我已经为DF2中的Cost.Centre.Code进行了类型转换(类和模式),以使其与DF1中的相匹配。
DF2$Cost.Centre.Code <- as.numeric(as.character(DF2$Cost.Centre.Code))
DF2 <- data.frame(lapply(DF2, factor))
现在,两个数据框中的Cost.Centre.Code都是数字,并存储为因子。
现在我尝试使用下面提到的命令合并它们:
DF3 <- merge(x = DF1, y = DF2, by.x = 'Cost.Center.Code', by.y = 'Cost.Center.Code', all.x = TRUE)
我收到错误“fix.by(by.x,x)出错:'by'必须指定唯一有效的列”。
我已经在SF上发过关于类似错误的类似帖子,但他们的问题与我的问题略有不同。任何故障排除都没有帮助我。
我不确定类型转换是否存在问题。我是R编程的新手,任何帮助将不胜感激。提前谢谢!