同样的R代码、数据,为什么结果不一样?我的操作是哪里有问题?要怎么改?




然后别人的结果(变量mRS)是下图:

我的是这样,我的不对啊,怎么办

同样的R代码、数据,为什么结果不一样?我的操作是哪里有问题?要怎么改?






关注引自免费微信小程序:皆我百晓生
在R语言中,当你遇到同样的代码和数据得到不同结果的情况时,通常是由以下原因导致的:
随机性:如果你在代码中使用了随机数生成函数(例如set.seed()之前没有设定固定种子),每次运行结果会有所不同。
在你的代码中,你设置了随机数种子:
set.seed(123)
这确保了数据集拆分的可重复性。如果其他人没有设置或设置了不同的随机种子,训练集和测试集会有差异,进而影响后续分析结果。
数据版本问题:尽管你说是同样的数据,但可能存在数据源的不同版本或者导入过程中数据有无遗漏、顺序变化等情况。
代码执行顺序错误:检查图中的代码是否严格按照顺序执行,是否存在未展示的部分或跳过了某些步骤。
变量名或引用错误:仔细检查变量名是否有拼写错误或大小写不一致。比如,图2中的table(testssap)可能是错的,应为table(test$SAP)。
数据预处理差异:因子化分类变量时,确保所有类别都被正确识别和处理,且顺序一致。此外,将BI转化为数值型变量时,需确认转化前后无异常值产生。
代码片段缺失:从你提供的信息看,存在部分代码片段可能被截断,如第80行的代码似乎不完整,这可能会导致运行错误或不一致的结果。
解决办法:
针对你给出的代码段,我注意到一个潜在问题是在因子化分类变量时,最后一行代码应该补全括号:
nn1[vars] <- lapply(nn1[vars], factor)
同时,在导出csv文件时,也存在语法错误,需要加上逗号来闭合write.csv()函数的参数列表:
write.csv(train, file = "train.csv")
write.csv(test, file = "test.csv")
请根据上述建议检查并修正你的代码,再观察结果是否一致。