同样的代码,为什么不同的数据会出现错误,怎么解决这个问题:Error in $<-.data.frame
(*tmp*
, Year, value = integer(0)) :
替换数据里有0行,但数据有186
Error in `$<-.data.frame`(`*tmp*`, Year, value = integer(0))
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 「已注销」 2023-04-11 14:22关注
以下内容部分参考ChatGPT模型:
这个错误是因为你在尝试替换一个数据框中的列,但是替换的值为0行,导致出现错误。这可能是因为你的替换数据没有正确地匹配到原始数据框中的行。你可以先检查一下替换数据框和原始数据框的行数是否匹配,或者尝试使用merge函数将两个数据框按照指定的列合并起来,然后再进行替换操作。
例如,假设原始数据框为df1,包含Year和Value两列,替换数据框为df2,也包含Year和Value两列。你可以使用如下代码将两个数据框按照Year列合并起来:
merged_df <- merge(df1, df2, by = "Year", all.x = TRUE)
这会将df1和df2按照Year列合并起来,并将结果保存在merged_df中。参数all.x = TRUE表示保留df1中所有的行,即使在df2中没有匹配到对应的行。然后,你可以使用如下代码替换merged_df中的Value列:
merged_df$Value.x[!is.na(merged_df$Value.y)] <- merged_df$Value.y[!is.na(merged_df$Value.y)]
这会将merged_df中Value.x列的值替换为Value.y列的值,但只会替换那些在Value.y列中不为NA的行。最后,你可以将替换后的结果保存回原始数据框中:
df1$Value <- merged_df$Value.x
这样就完成了替换操作。
如果我的建议对您有帮助、请点击采纳、祝您生活愉快
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 6
悬赏问题
- ¥15 求指导ADS低噪放设计
- ¥15 CARSIM前车变道设置
- ¥50 三种调度算法报错 有实例
- ¥15 关于#python#的问题,请各位专家解答!
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存