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

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 06: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月19日
  • 已采纳回答 4月12日
  • 创建了问题 4月11日

悬赏问题

  • ¥20 四叉树的创建和输出问题
  • ¥15 使用okhttp分片上传文件,总是超时,到底是哪里的问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 pkg-types,vite,d
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
  • ¥15 VB.NET利用摄像头拍照的程序
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部