【问题标题】:Using dplyr mutate & ifelse to replace values produces strange output使用 dplyr mutate & ifelse 替换值会产生奇怪的输出
【发布时间】:2018-02-09 17:11:53
【问题描述】:

我有一个数据框,WB。在 WB 上,我使用 dplyr 的 mutate() 和 ifelse() 将“..”值转换为来自相邻变量的值。

我的解决方案是,

mutate(WB, Rents2 = ifelse(Rents == "..", `X2014..YR2014.`, Rents)))

产生这个输出: https://i.stack.imgur.com/7GFg5.png

为什么Rents2返回大值而不是2014年的可变数据?

【问题讨论】:

  • 请提供您的实际数据和输出,而不是图片。
  • 您的变量都不是数字的。我猜它们都是因素。您应该重新考虑您的数据导入以强制将 ".." 的任何内容更改为 NA

标签: r na data-cleaning dplyr


【解决方案1】:

原始数据包含所有因素。数据提供者的字段是非数字的。解决方法是将数据转换为数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2021-07-26
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    相关资源
    最近更新 更多