【问题标题】:R - Change value in data frame according to its original valueR - 根据原始值更改数据框中的值
【发布时间】:2017-05-16 02:18:44
【问题描述】:

我目前正在处理一个数据框,其中包含一个名为 label 的列,该列只有值 1 和 0。

例如,

x1 | x2 | label
0.1  0.2    1
0.1  0.3    1
0.2  0.5    0

如何转换列标签中的值,如果标签 = 1,则标签变为 +1,如果标签 = 0,则标签变为 -1

这是我想要的结构

x1 | x2 | label
0.1  0.2    +1
0.1  0.3    +1
0.2  0.5    -1

另外,列标签目前是数字类型,我需要将其更改为因数才能继续我的任务。

这是将其更改为因子的代码。

df$label <- factor(df$label)

通常,我会运行一个 for 循环来更改它。但是,有时会出现标签很多的情况,导致我写了一个很长的 for 循环,我认为它没有效果。

在这种情况下,什么是有效的解决方案。

非常感谢!

【问题讨论】:

  • 尝试c('-1', '+1')[(df1$label + 1)] 或使用factor 方法factor(df1$label, labels = c('-1', '+1'))
  • 你知道了,你想发表你的答案吗?谢谢

标签: r


【解决方案1】:

我们可以通过数字索引来替换值来做到这一点

c('-1', '+1')[(df1$label + 1)]

或者在factor中使用labels参数

factor(df1$label, labels = c('-1', '+1'))

或者ifelse

ifelse(df1$label>0, '+1', '-1')

【讨论】:

    猜你喜欢
    • 2019-03-30
    • 2020-01-19
    • 2021-11-24
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2012-12-22
    • 2016-09-11
    • 2020-07-08
    相关资源
    最近更新 更多