Ljw113OKOK 2023-04-11 13:23 采纳率: 80%
浏览 3580
已结题

Error in `$<-.data.frame`(`*tmp*`, Year, value = integer(0))

同样的代码,为什么不同的数据会出现错误,怎么解决这个问题:Error in $<-.data.frame(*tmp*, Year, value = integer(0)) :
替换数据里有0行,但数据有186

img

  • 写回答

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
    

    这样就完成了替换操作。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存