【问题标题】:R ifelse statement for creating new column based on observations found in others用于根据在其他人中发现的观察创建新列的 R ifelse 语句
【发布时间】:2022-09-23 01:34:57
【问题描述】:

我正在尝试编写一个 ifelse 语句,该语句查看变量 3 和变量 4 的观察结果并返回新变量 5 的值。如果 variable4 的值大于变量 3 的值,我希望 variable5 的值为 (variable4 / variable3) %*% -1。如果变量 4 的值小于变量 3 的值,我希望变量 5 为(变量 3 / 变量 4)。任何帮助将不胜感激!

  • 请不要(仅)发布代码/数据/错误的图像:它会破坏屏幕阅读器并且无法复制或搜索(参考:meta.stackoverflow.com/a/285557xkcd.com/2116)。请直接包含代码、控制台输出或数据(例如,data.frame(...) 或来自dput(head(x)) 的输出)。
  • 你认为%*% 在做什么?在这里,它会抱怨不一致的参数,因为它只是一个向量。你的意思是%%,模数运算符?你试过ifelse吗?你确定你需要ifelse?如果它只是您需要的模数,那么在 0 和 1 之间的值上的 %% 1 是无操作的,所以也许只是 variable5 = (variable4 / variable3) %% 1。 (虽然我假设非负值。)

标签: r if-statement


【解决方案1】:

Ifelse 看起来像这样:条件、valueIfTrue、valueIfFalse,所以:

variable5 = ifelse(variable4 > variable3, (variable4 / variable3) %*% -1, variable3 / variable4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 2020-10-03
    相关资源
    最近更新 更多