【问题标题】:R: How to recode binary factor levels (0=0, 1=1) in BASE RR:如何在 BASE R 中重新编码二进制因子水平 (0=0, 1=1)
【发布时间】:2020-12-21 04:07:17
【问题描述】:

当我读入一个 csv 文件时,有一个二进制目标。

as.factor 向后分配 0 和 1(索引方式)。

我想要 0='0' 和 1 = '1'

我在 Car 包中找到了 Recode 函数(或者可能是 dplyr),在 Tidyverse 中找到了另一个函数。这两个包都与其他包冲突并破坏了我的 R 代码。

如何在 BASE r 中重新编码二元因子水平?

感谢您的帮助。

【问题讨论】:

  • 你到底是什么意思的倒退?您能否详细说明/解释。此外,您不必加载整个包。只需使用分辨率运算符来使用您需要的特定功能
  • 向后索引。

标签: r refactoring


【解决方案1】:

我们可以在factor中指定levels和对应的labels

df1$col1 <- factor(df1$col1, levels = c(0, 1), labels = c('0', '1'))

这样就可以改成任意顺序了

factor(df1$col1, levels = c(0, 1), labels = c('1', '0'))

或者

factor(df1$col1, levels = c(0, 1), labels = c('2', '1'))

【讨论】:

  • 谢谢。顺便说一句,您必须在作业中使用它; df1$col1
  • @Larry 是的,它已经在第一个代码块中更新了。
  • 好吧,我认为这是我不得不使用“Output4$net.result[,2])”的问题——与神经网络函数/包一起使用。我必须使用 [,2] 来获取第二个字段。否则,Output$net.result 全部反转。 -- 但是这个问题依然存在。
  • @Larry 这取决于您的对象。是data.frame还是matrixmatrix不能包含这些因素属性)
  • 这是一个数据框。
猜你喜欢
  • 2013-04-08
  • 2013-11-26
  • 2013-11-05
  • 2017-11-28
  • 2017-12-11
  • 2013-10-04
  • 2015-08-03
  • 2019-07-31
  • 2011-06-30
相关资源
最近更新 更多