【问题标题】:condition statement in RR中的条件语句
【发布时间】:2014-01-22 12:54:53
【问题描述】:

我有一个包含以下列的数据框。我想写这样的条件语句:

df $ [df$literacy==FALSE,] eduyears <- 0

这意味着如果df $ literacy is FALSE,那么在该特定行的eduyears 列中它应该设置编号0。但是这个命令在我的系统上不起作用。

正确吗?如果不正确,我应该改用什么语句?

【问题讨论】:

    标签: r if-statement dataframe


    【解决方案1】:

    你可以使用

    df$eduyears[!df$literacy] <- 0
    

    df$literacy 是一个逻辑向量。如果您否定它 (!),FALSE 将变为 TRUE(反之亦然)。这个向量可以用作df$eduyears的索引。

    【讨论】:

      【解决方案2】:

      如果我理解正确,那么应该这样做:

      编辑:(评论后)

      dat$eduyears <- ifelse(dat$literacy==FALSE,0,dat$eduyears)
      

      假设您的输入如下所示:

      那么

      你的输出应该是这样的:

      这是你想要的吗?

      【讨论】:

      • 不,我不想要它,因为我有其他教育年的数字 (7,8,9,10,...) 如果学生 = true 我只想要学生 = false 放 df $ 教育年 =0。所以我需要一个只适用于 student=false 的命令
      • 我附上了一些截图,你应该把一些输入数据作为样本。
      猜你喜欢
      • 2014-02-05
      • 2015-09-12
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2021-02-02
      • 2022-06-21
      • 2014-10-23
      相关资源
      最近更新 更多