【问题标题】:Change column value by row string value in R在R中按行字符串值更改列值
【发布时间】:2015-01-21 08:46:37
【问题描述】:

我的一组数据有问题。 我想更改列的值,仅针对数据行中的某些值。 我的表有这样的结构:

  Var1   Var2
1   A    High
2   A    High
3   A    High
4   B    High
5   B    High
6   B    High
7   C    High
8   C    Low
9   C    Low
10  C    Low

现在,我想将“Var2”值更改为“Medium”,仅当 Var 1 为 C 时。 谢谢你的帮助! :) 阿林。

【问题讨论】:

    标签: r rename


    【解决方案1】:

    假设d 是你的data.frame:

    d$Var2[d$Var1 == "C"] <- "Medium"
    

    【讨论】:

    • 它返回此消息>>警告消息:在[&lt;-.factor(*tmp*, d$Var1 == "C", value = c(1L, 1L, 1L, 1L, : 无效因子水平,NA 生成
    • 确保 Var2 是 character
    • 是的。这不是性格。
    • .@Thomas - 为什么在上述数据上执行d[10,"Var1"] &lt;- 0 会给我Warning message: In [(*tmp*, iseq, value = 0) : invalid factor level, NA generated。对于特定单元格,值而不是 0 更改为 NA。请有任何建议。
    • 我在这里尝试了一种类似的方法来解决我的问题并写了dat$participant[dat$date== "2020-06-07_12h33.46.880"] &lt;- "101" 但它没有用。我错过了什么?日期和参与者是字符stackoverflow.com/questions/62376988/…
    【解决方案2】:

    试试

    d$Var2[d$Var1 == "C", ] &lt;- "Medium"

    条件后面必须有逗号。 这是 R 特有的东西。

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 2012-12-22
      相关资源
      最近更新 更多