【问题标题】:Looping a column in a dataframe while changing its value [duplicate]在更改其值时循环数据框中的列[重复]
【发布时间】:2016-08-29 08:49:01
【问题描述】:

我对 R 很陌生,不到两周前就开始使用它,我想知道为什么这不起作用。基本上我要做的是遍历新添加的列,比较同一行中另一列的值,并根据条件更改我正在循环的列中的值。

myDataFrame["column2"] <- "a"
refValue = x
for(i in nrow(myDataFrame){
  if(column1[i] >= refValue){
    column2[i] <- "b"
}}

试图运行它但值没有改变

View(MyDataFrame)

所以 myDataFrame 现在是
第 1 列---------第 2 列
someValue-----a
someValue-----a
someValue-----a
someValue-----a

在它根据一个条件完成循环后,即 column1 中相应行的值,我想将一些 'a's 更改为 'b's

【问题讨论】:

  • 您不需要循环来执行此操作。请提供具有预期输出的可重现示例。 refValue = x 中的 x 是什么?你在比较人物元素吗?
  • 感谢您的帮助,但@Ronak Shah 提供的解决方案有效。
  • 其他可能的重复是this

标签: r


【解决方案1】:

不需要为此使用循环。您可以用

替换您的代码
myDataFrame$column2 <- with(myDataFrame, ifelse(column1 >= x, "b", "a"))

【讨论】:

  • 这行得通!谢谢并原谅我缺乏语法知识。
猜你喜欢
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
相关资源
最近更新 更多